the garbage collector is really slow; but can hold the whole dictionary in memory till it needs to be freed