Hey sheson, thank you for all your help. i have managed to solve it.
I tired disabling all those dlls but they were not the issue and also (resaver couldn't load the file , it gives position mismatch error)
But anyway I solved it as -
The issue was that I hadn't made a full clean save when updating.
Normally how I update is, I go indoors, save , exit then remove old outputs then generate new and the game loaded fine.
But this time, on newer versions-
After a clean save, I ALSO had to remove old output, then LOAD the game with MISSING DYNDOLOD esm and esp, and MISSING OCCLUSION. Then wait a while then save and exit.
Then installed the new outputs and now when i load back the game works great and any save i make loads properly.
I didn't know you were supposed to load the game with missing esps and esms then save and exit. I thought that would cause too many orphan scripts each time.
I don't know if that is the correct procedure but next time i'll use the MCM beforehand and update properly. It was my mistake.
Thanks for your help as always.
Edit: however that save file is as good as dead. had to load the older save and do the steps properly to make a new save for it to work. Incase someone else encounters a similar issue.