I have somewhat the same issue. I cannot load act 3 from act 2. Crashes even on a whole different PC and on Geforce NOW. So this is NOT an issue related to the PCs. This is a broken game. I write code for a living for 12 years. I know the process of testing and this is very related to the game files. There is something in the saves that the current files cannot process due to their recent changes. I have processed my .dmp files and there is a memory access issue. It appears a variable is not being processed properly containing a placeholder that doesn't turn into a variable at some point.
Nothing you do will fix this issue. They need to fix the game files to be backward compatible with saves.
%p in cpp is a pointer reference and %s is a string placeholder
The pointer likely didn't exist due to their game file changes and the %s is the error print but nothing exists to fill out the string literal.
https://ibb.co/1LkTzw5