public bool TryAcquire(out IBuffer buffer)
        {
            var result = buffers.TryDequeue(out buffer) || TryCreateBuffer(out buffer);

            if (result)
            {
                buffer.CollectGarbage();
            }

            return(result);
        }