You are low on virtual memory. This can happen even if you have plenty of free RAM.
It's just like being unable to spend money even if you have plenty of checks left and plenty of money in the bank. You have to have enough money sitting around to cover the checks you've already written or you can't write any more without risking catastrophe should all your checks be cashed at once.
A simple solution is to enlarge the paging file.
A paging file is like a line of credit that Windows can borrow from. Knowing that it can borrow from the paging file should all its checks be cashed at once, it can keep writing checks. Odds are it won't actually use the paging file, but it just needs it to ensure it can keep its promises.
For example, say you have 4GB of RAM. Four applications start up and tell the OS that they might need up to 1GB of RAM (a reservation). The OS says, "fine", and all four applications start. (Would you prefer it not let them run?!)
Say they're using a total of 1GB of RAM now. Then another application starts up and asks for 1GB. What can the OS do? If it says yes to that application, what happens in the very unlikely event that all the applications suddenly use all the memory they asked for? THe OS doesn't have 5GB available, and it can't revoke promises it has already made.
With a page file, of course, it can just write rarely-used pages out to disk and keep all its promises. So it needs the page file to allow another application to run, even if 3GB is free.
With a large paging file, Windows can allow applications to run so long as the actual working set can fit in RAM. Without a paging file at all, Windows cannot allow any applications to run unless it can fit everything in RAM that could possibly be used based on commitments it has already made. That means, for example, that a simple private, writable mapping of a 1GB file makes an entire 1GB of RAM essentially wasted because the application might write to every byte of that file, so that 1GB of RAM can only contain pages that can safely be discarded.
Linux, by the way, allows the operating system to overcommit backing store. The downside of this is that it may need to forcefully kill processes if the OS winds up making promises it cannot keep. This is why Linux has an "OOM kiler" and Windows does not. Most Linux machines have overcommit disabled anyway.