Oh man, you were right. I did a great job of reducing the amount of memory the game uses. Memory usage seems to stabilize much lower than the previous version of the game.

However, the data corruption is still happening.

Okay, I am opening up a file, reading from it, and storing the information in variables. Then, it re-writes the file with updated information and saves it again. So I guess this may be what you described as "overriding existing data."

Can you tell me if there is a right or wrong way to do this? If it's as simple as just not over-writing a file, I may be able to come up with a better way to do it.