BufferProvider now just creates more buffers rather than hangs if you exhaust the pool