When you fire up your process, the JVM has a limited heap size (default is 128MB). That server may well have more memory, but your JVM doesn't - you used it all.
You can change this with the -Xms and -Xmx command line arguments, but I would suggest finding the memory leak first :)