Typically the size of x in the computations of layers is torch.Size([128, 500])

This line is confusing, are you referring to input x or tensor x just before torch.add?
Nevertheless you implementation will throw size mismatch error:
# input 128x128x2 batchx128x2
x = self.Fc1(x) # output size 128x128x500 in_features=2, out_features=500
x = F.relu(x) # output size 128x128x500
        
'''First ResNet Block'''
 res_calc = self.Fc2(x) # 128x128x500
 res_calc = F.relu(res_calc) # 128x128x500
 res_calc = self.Fc3_bottleneck(res_calc) # 128x128x100 in_features=500, out_features=100
 x = F.relu(torch.add(x, res_calc)) # add(128x128x500, 128x128x100) size doesn't match

you cant add two tensor with different size.
Possible solution can be:
CombustionModel(
  (Fc1): Linear(in_features=2, out_features=500, bias=True)
  (Fc2): Linear(in_features=500, out_features=500, bias=True)
  (Fc3): Linear(in_features=500, out_features=500, bias=True)
  (Fc4_bottleneck): Linear(in_features=500, out_features=100, bias=True)
...
)

forward():
# input 128x128x2 batchx128x2
x = self.Fc1(x) # output size 128x128x500
x = F.relu(x) # output size 128x128x500
fc2_out = self.Fc2(x) # 128x128x500
fc2_out = F.relu(fc2_out) # 128x128x500
fc3_out = self.Fc3(x) # 128x128x500
fc3_out = F.relu(fc3_out) # 128x128x500
res = torch.add(x, fc3_out) # add(128x128x500, 128x128x500) size match
Fc4b_out = self.Fc4_bottleneck(res) # 128x128x100