Если ваша память фрагментирована, JVM не сможет получить необходимую непрерывную память.
Попробуйте запустить Java после новой перезагрузки, и вы сможете получить 1 ГБ или более.
С 64-битной ОС и JVM у вас не будет этой проблемы.
Для сравнения вы пробовали Java 6? Даже если вы не можете использовать Java 6, это помогло бы указать, является ли проблема более вероятной в ОС (если Java 6 не работает) или в Java 5.0 (если Java 6 работает)
Поскольку Java 5.0 больше не поддерживается свободно, если вам нужна поддержка Java 5.0, вам придется заплатить за нее.