When latency matters and serving requests one could just do the old trick (popular in the Erlang world): implement the whole request serving in one light weight (Erlang) process, allocate, allocate, and kill the process at the end without the need to garbage collect. Give a fresh process to each request.