En realidad, este no es un problema específico de Eclipse; es un problema general de Java en Windows. Es debido a cómo la JVM asigna memoria en Windows; insiste en asignar una porción contigua de memoria, que a menudo Windows no puede proporcionar, incluso si hay suficientes porciones separadas para satisfacer la solicitud de asignación. Hay utilidades que intentarán ayudar a Windows a "desfragmentar" su memoria, lo que, en teoría, ayudaría a esta situación; pero realmente no los he probado en serio, así que no puedo hablar de su efectividad. Una cosa que he escuchado a veces que puede ayudar es reiniciar Windows y, antes de iniciar cualquier otra aplicación, iniciar la aplicación Java que necesita una gran cantidad de memoria. Si tiene suerte, Windows todavía no habrá fragmentado su espacio de memoria y Java obtendrá el bloque contiguo que se solicita.
En algún lugar de Internet hay más explicaciones técnicas y análisis de este problema, pero no tengo ninguna referencia a la mano.
Sin embargo, encontré esto, que parece útil: https://stackoverflow.com/a/497757/639520