Using SoftReferences in BufferPool rather than WeakReferences. Looks like they are more sensitive to the Garbage Collector.