QuaziGNRLnose, few updates from my side -
1. I have followed what you said about initialization ( "created model, loaded .js file, destroy on model created" sequence for each .js file) and it worked pretty well without any lags! Though it looked funny just to create and destroy Q3Dobjects in the C2 code, I think it made sense from a threejs perspective...However, a neater way could be to have such stuff abstracted from the user, if possible...Anyway, thanks a lot for that tip.
2. I also happened to figure out that one of my .js model file was quite big ( something like 5 MB) that was causing the FPS drop...When I optimized this .js model file, I was able to get it working on iPad!
The js error with switching layouts still remains if I dont take care of that in the C2 code...