I did some more testing and you are absolutely right, Martin. It just reserves more and more virtual memory until the 3GB limit is reached, at which point it crashes. I fixed the problem by setting the LAA flag in the header of drakensang.exe. Unfortunately, you have to use a no-cd fixed exe because if you modify the original exe in this way, the copy protection of the game notices it and complains. I do not really understand why this works, as it was never a problem of not having enough real memory for the game. It still uses the same amount of memory with LAA set, but it doesn't grab all the virtual memory anymore. I tested it extensively by doing excessive zone changing. Without LAA it would crash after 6-10 zone changes. With LAA it still hadn't crashed after 64(!) zone changes (and the virtual memory of the process was still below 2.7GB), so I gave up testing and started playing normally. I've just finished playing for 5 consecutive hours (without a break) and it hasn't crashed once. Hence I can safely say that the problem has been fixed. Thank you both for your help/input. :)