According to my observation, It may fail to save after an OutOfMemory Exception, if it comes continously, much progress would be lost.
The root of this is the main program is 32-bit, so the max memory for it is around 3GB.
I don't know whether migrating to 64-bit would help, at this moment, "Extra Memory Protection" helps in my experience (but I'm not sure about heavy Lua usage as my scenarios are only with events)
At this moment, using this experiment build, I still hit the 3GB memory wall and crash around 6~24 hours of continous running, max lost of progress in autosave is about 100s in game time, average is about 10~20s.
For me this is acceptable, as CMANO sometimes lost more than 5 min and older builds destroys autosaves outstraight.
I have the "Extra Memory Protection" checked but am getting the OutofMemory Exception every 20 minutes or so. Again, once the error appears, saving the game is no longer possible. I have to exit the game and reload a save from before the error occurred.
Maybe the scenario I've been playing ("Mediterranean Fury 1, The Road to Byzantium") is simply too big for the game to handle.