Eu tenho notado um bug em alguns aplicativos comerciais baseados em Java, onde o aplicativo é bem comportado em Java de 32 bits, mas requer um extra (e principalmente desnecessário) 1.25GB apenas para iniciar o Java de 64 bits. Então, o que leva 256MB em 32bit Java leva 1,5GB em um tempo de execução de 64 bits.
Eu suspeito que o Java esteja relatando o que ele acha que o aplicativo está usando, mas não seu próprio overhead de tempo de execução, particularmente no caso em que esse bug é invocado.
Você pode tentar executar o aplicativo em um tempo de execução de 32 bits ou voltar ao suporte técnico do fornecedor (pode custar $$) e perguntar o que está acontecendo.
Por fim, se você conseguir limitar o consumo total de memória, basta forçar o aplicativo a travar mais cedo, e você ainda terá um problema.