Could you post (pseudo) code, which would show the difference in the performance?
If I understand your use case correctly, you are comparing these approaches:
# approach 1
model = nn.Linear(1, 1)
x = torch.randn(1, 1)

for _ in range(100):
    x = model(x)

# approach 2
models = nn.ModuleList([nn.Linear(1, 1) for _ in range(100)])
x = torch.randn(1, 1)
for m in models:
    x = m(x)