Running Windows 7 64bit 6core AMD processor, 8 gigs ddr3 ram.. running game on Stripe array.. GeForce 9800 GT 512mb ram.
I have had no problems at all with memory, but I've been running the windows resource monitor on my second video screen while the game is running to get an idea of what exactly is going on. I have come up with a hypothesis and a direction to go in.
It appears that game.dll attempts to grab a single core on multi-core systems. game.dll also processes a lot of hard-drive reads with everything from textures to sounds. Disabling sounds didn't seem to stop it from reading the drive for them and I didn't really seen any change between using custom UI's or the Atlantis ones. Changing to classic models didn't seem to change the hard-drive reads either.
I'm guessing that what is actually happening is that the game is attempting to poll the hard-drive for information and windows attempts to load as much as it can into ram and virtual memory. However, I think it's possible that the game is attempting to do too much at once and eventually asks for too much information.. then because the system can't read the hard-drive fast enough, the game assumes there is no memory because it's not getting a response when it expects it.
The only way I can be more sure that hard-drive reads are part of the problem is to find out if using a solid state drive for the game causes the problem to stop in a system that has the problem.
On the outside, there are a number of drive de-fragment programs that are better than the one microsoft uses. Some of them are free, others come with a 30 day demo. Perfect Disk has a 30 day trial and it's a fairly good program. I would recommend that people with the memory problem attempt to de-fragment their hard-drives and see if the problem goes away, or happens less frequently. (Fragmentation on a hard-drive will increase read and write times on a drive.)
Another trick that "MIGHT" work is while the game is running.. to use task manager to set affinity on multi-processor systems. Start by setting the affinity to just one of the cores. Hit ok to finalize that change, then reselect game.dll and change the affinity to use all the cores. On my system I've noticed how it seems to balance itself out between the cores a bit better. A problem I had with setting the affinity on windows7 is that it says access denied. I fixed this by clicking the button on the bottom that reads "show processes from all users". Then I had no problem.
I hope this helps.
[ Side note: I used to run the game on a two-core processor with 4 gigs of ram, the same vid card that I use in the new system, but my game drive was not in a stripe array. The game would sometimes just crash to the desktop and sometimes I would get some kind of memory error. No problems with the system upgrades even tho I'm using the same graphics card. New Motherboard, new ram and processor. ]


