See the mail thread
In case of flush we create a memstore flusher which in turn creates a StoreScanner backed by a Single ton MemstoreScanner.
But this scanner also registers for any updates in the reader in the HStore. Is this needed?
If this happens then any update on the reader may nullify the current heap and the entire Scanner Stack is reset, but this time with the other scanners for all the files that satisfies the last top key. So the flush that happens on the memstore holds the storefile scanners also in the heap that was recreated but originally the intention was to create a scanner on the memstore alone.