Buenas...
Para empezar, echa un vistazo a lo que dijo jpaler... Seguramente estés entrando en un bucle infinito y usas un new dentro, por lo que terminarás quedando sin memoria.
El uso normal de la memoria de la JVM es (al menos en mi compilador actual) de 64Mb.
En los parámetros de la máquina virtual (VM Params en la mayoría de los entornos) puedes cambiar la memoria utilizada por Java con el comando -Xmx y un número:
-Xmx256M dará a tu JVM el uso de 256Mb de memoria, aunque no creo que lo necesites.
Por cierto, el error OutOfMemoryError se puede capturar con catch(Throwable th) para tratar de solucionarlo en tiempo de ejecución.
También se puede controlar la memoria consumida por el programa. Si estais interesados en ello, echad un vistazo a la documentación, en la clase Runtime, los métodos freeMemory() maxMemory() y totalMemory().
Un saludo.
Silverfox