I'm guessing that due to the nature of tablet splitting, there is a lot of fragmentation, and some low-level background process comes along once in a while and reclaims space.
I've often wanted a feature that would let me "mark entities as deleted" so I could be part of this process (which may be just a figment of my imagination) and have my entities go away on Google's schedule and for very cheap/free. Of course, I would need to be responsible for ignoring these things in query results, etc., which often is not a problem because they are orphan entities that otherwise wouldn't be queried for anyway.
Something like:
keys = MyEntity.query(ancestor=my_parent).fetch(1000, keys_only=True)
ndb.delete_multi(keys, low_priority=True) # would mark both the entities and the index entries for background deletion
My alternative, often, is to just let dead stuff keep turning on spindles, which is asinine.
j