Első és legfontosabb, hogy ne JAXB-vel dolgozd fel.
"Jelenleg olyan 4G-át eszik 1db 400 megás fájlnál."
Mit csinálsz az XML beolvasásán kívül? Milyen memóriaszemeted marad? Irreális a 4GB, ha csak egy 400 MB-os fájl olvasol fel. Profiloztad már?
Mi a pontos feladat? A JAXB egy kiváló absztrakciót ad objektum-XML leképezésre, de ennek ára van, nem hatékony.
Használhatsz StaX-ot, ha hatékonyabb XML feldolgozást szeretnél, de ekkor elveszik csomó kényelmi funkció a JAXB-hez képest.