O coletor de lixo é garantido para ser executado antes de um erro de falta de memória?

Caso o heap esteja cheio, a JVM lança umOutOfMemoryError. Mas é garantido que uma coleta de lixo (completa) sempre ocorre antes que uma exceção seja lançada?

Isso significaria que a memória está cheia apenas com objetos referenciados fortes (ou alcançáveis ​​pelas Roots do GC) quando a exceção é lançada.

Edit: Suponha que o Sun JVM - HotSpot está em discussão.

questionAnswers(5)

yourAnswerToTheQuestion