I'm guessing that this bug happens because some (unhandled) exceptions are thrown during runtime. If there is a data-stream after it happens, it is pretty unpredictable what the outcome would be.
If someone was to save after an (unhandled) exception happens, the error could be baked into the save file never to be removed again. At this point, the only eventuality for the save file is to be totally corrupted as the baked error could generate others.
Also, I'm not certain, but it seems to me that the game does not release memory after loading a save file if a game session already started (to reduce loading time). This could result in errors spilling into the newly loaded (or started) game.
These are just my thoughts on what could cause this issue, I obviously don't know how Larian coded the engine. Based on what ekidhardt posted and what I saw I could still imagine that stealing could play a role in starting this cascade of errors.