Между прочим, вот поэтому для, систем массового обслуживания, в том числе и class 5, принято таки использовать erlang.
Во-первых он заставляет сразу делать архитектуру и логику так, чтобы оно хорошо ложилось на сотни тысяч независимых процессов (ерланговских понятное дело, с точки зрения ОС число потоков либо процессов будет по числу ядер машины).
Во-вторых, там сборщик мусора всегда гарантированно работает линейное время (от размера кучи).
В-третьих поскольку у нас сотни тысяч процессов а не потоков, кучи у них раздельные и сборщик мусора у каждого свой, следовательно никого глобально он не тормознет.
PS. А вообще, для хренения таких вот больших объемов данных (особенно вечных) обычно используют какую-нибудь no-sql базу данных. В простейшем случае мнезию (mnesia) (для ерланга).