I thought, that calling gc will be a problem: A = crypto:rand_bytes(1024*1024*1024), erlang:garbagecollect(), {reply, ok, State} Will gc free A? I think that no, because A is still used in the place, where gc is called. Am I right?