Attila, have you tried using the 'fullsweep_after' flag to
erlang:spawn_opt() and related functions (e.g. in proc_lib) to control
how frequently full-sweep garbage collection is performed?
http://www.snookles.com/erlang-docs/R15B01//erts-5.9.1/doc/html/erlang.html#spawn_opt-2
-Scott