Вопрос не в максимальном размере кучи на 32-битной ОС, учитывая, что 32-разрядные ОС имеют максимальный адресный размер памяти 4 ГБ и что максимальный размер кучи JVM зависит от того, насколько непрерывна свободная память может быть зарезервирован.
Мне больше интересно узнать максимальный (как теоретический, так и практически достижимый) размер кучи для 32-разрядной JVM, работающей в 64-разрядной ОС. В основном, я смотрю на ответы, похожие на цифры в соответствующем вопросе на SO.
Что касается использования 32-разрядной JVM вместо 64-разрядной, причина не техническая, а скорее административная/бюрократическая - возможно, слишком поздно установить 64-разрядную JVM в производственной среде.