In MemoryAllocator, there is a member variable size_ to record current committed memory size..
The size_ increase after allocate or commit a VirtualMemory.
From the perspective of symmetry, the size_ should decrease after free or uncommit a VirtualMemory .
But in fact it's in PreFreeMemory.
When free pages with mode kPooledAndQueue, the size_ will decrease during UnregisterMemory during PreFreeMemory, but the MemoryChunk is not really freed or uncommitted.
I think the decrease of size_ should be in PerformFreeMemory.
I wonder what is the purpose of the current design?