If I understood correctly, this method returns as many memory regions as the number of the allocations for the last 10 seconds.  Why does this free the memory regions that are not allocated frequently enough?  It will almost always be same with `free()` because many short-living buffers will be allocated and then added back to the thread local cache when they are freed, ending up with very large `allocations` value.  Am I missing something?