то есть, мог malloc (), просьба о 5 МБ в части C перестала работать из-за:
Ответ на первый пункт "нет" - Xmx ссылается на кучу Java, и любые собственные выделения полностью отделены.
Ответ на второй пункт "да" - собственные выделения подчиняются общим ограничениям на выделение процессов, присущим операционной системе и/или аппаратному обеспечению.