Few months back, some of the services switched to jemalloc for the Java VM. It took months (of memory dumps and tracing sys-calls) to blame the JVM, itself, for getting killed by the oom_killer.
Initially the idea was diagnostics, instead the the problem disappeared on its own.
If you changed from glibc to jemalloc and that solved your issues, then you should blame glibc, not the JVM.
Well, indeed - I thought that part was obvious reading it.