FixedCircularBuffer allocates once. UnrolledQueue allocates each time QueueNode overflows Object pool for QueueNode is needed to reduce allocations