Hola!
Seguramente lo que está pasando es que la jvm es la que no soporta la carga de memoria, utiliza los siguientes parámetros en la llamada a tu programa, y fíjate si soluciona tu problema
-Xms < tamaño > para el tamaño inicial de memoria
-Xmx < tamaño > para el tamaño maximo de memoria
por ejemplo
java -Xmx700m miprograma