Per the summary.
The shortcoming with the existing memory managers is that unless a released Buffer was the last Buffer allocated, we can't return the memory to the pool. The idea of this type of pool is to speed allocation and hope for the best on re-use.
However, the intent with this pool is to have the MM manage several pools with Buffers of different sizes. When an allocation request is made, the appropriate sized buffer will be used to satisfy the request. When the Buffer is released, it will be returned to the pool (probably a queue). In this case, the allocation/release order doesn't matter.