Fix stream snapshot receiver deadlock

The stream snapshot receivers now share a global fixed buffer pool. If some of them consume all available buffers and hold on to them, the other receivers will never get to do any work. The receivers that hold buffers should process the buffers and return them to the pool so that others can proceed.