Divej, já jsem pracoval na pár projektech, kde se zpracovávalo celkem velké množství dat, a pokud to bylo v jazyce s GC, tak GC byl od nějaké fáze ten největší problém. A je celkem jedno jaký jazyk to je, i když jsou jazyky, kde si člověk může zavolat mmap a mít svoji vlastní ne-gc paměť (třeba v go to jde).
Až se takový projekt dostane do fáze, kdy už je celkem použitelný, tak se začne řešit to, aby se alokovalo míň paměti a aby se některé věci znovu používali (object pools, atd...), aby se ulehčilo GC. A toto se děje vždycky...
V jazyce, kde si člověk může alokovat sám je to v pohodě, protože se dají použít např. inkrementální alokátory a pak zahodit všechno najednou - a toto je asi to nejlepší řešení při zpracovávání požadavků, kdy se po zpracování všechny dočasné data prostě zahodí (nic z těch dat není potřeba, GC je úplmý waste of cycles v tomto případě).
Navíc, při in-memory DB chci určitě použít SIMD, protože jaký má smysl volat stovky funkcí při zpracování jednoho řádku, když všechno mám k dispozici... Kolik managed jazyků umí SIMD? Snad jen C#...
A porovnávání čehokoliv s MongoDB si strč někam - MongoDB je sračka :)