java heap space error

R.I.P.
31 de Mayo del 2006
resumiendo un poco, este es el escenario:
while(true) {
clase miclase = claseDAO.obtenerClase();
}

Necesito hacer este bucle indefinidamente (por razones que no vienen al caso) y obtengo un error de java heap. He testeado la memoria con:

System.out.println("Memoria maxima: " + Runtime.getRuntime().maxMemory());
System.out.println("Memoria total: " + Runtime.getRuntime().totalMemory());
System.out.println("Memoria libre: " + Runtime.getRuntime().freeMemory());

y efectivamente, la memoria va creciendo imparablemente. El garbage colector se ejecuta cada cierto tiempo, pero no parece ser suficiente. Evidentemente el código que ejecuta mi aplicación no es tan simple y si comento la instrucción mencionada arriba, el bucle se desarrolla sin problema para la memoria. ¿Alguna idea?

GRACIAS.