This is actually not an Eclipse-specific issue; it's a general 
Java-on-Windows issue. It's because of how the JVM allocates memory on 
Windows; it insists on allocating a contiguous chunk of memory, which 
often Windows can't provide, even if there are enough separate chunks to 
satisfy the allocation request.
There are utilities that will try to help Windows "defrag" its memory, 
which would, in theory, help this situation; but I've not really tried 
them in earnest so can't speak to their effectiveness.
One thing that I've heard sometimes that might help is to reboot Windows 
and, before starting any other apps, launch the Java app that needs the 
big chunk of memory. If you're lucky, Windows won't have fragmented its 
memory space yet and Java will get the contiguous block that is asks for.
Somewhere out on the interwebs there are more technical explanations and 
analyses of this issue, but I don't have any references handy.
I did find this, though, which looks helpful: https://stackoverflow.com/a/497757/639520