BTree.removeAll() will simply replace the root leaf if delete markers are not in use. When they are in use, it will delete all tuples. For the RWStore, we must explicitly cause the nodes and leaves associated with the BTree to be deleted or those allocation slots will never be recycled.
Add an exception for the RWStore to BTree.removeAll().
Consider an optimized version of removeAll() which explicit traverses the nodes and leaves issuing deletes against the store without causing the individual tuples to be removed. This should be significantly faster since the nodes and leaves will not be updated as a side effect as the tuples are deleted.