Okay that makes a lot of sense, thank you!
I was using the module lists because I was not sure how to use the freezing technique and this was my workaround for it since I was working against a deadline - so my previous explanation was just my alternate approach without using the freezing option. I did get some results from it but as you said I probably broke something and my results were not ideal.
Although, I apologize since I am not sure what you mean by this:

In case you are using e.g. nn.Sequential modules internally, you could of course use them as parameters() will return all parameters recursively.