Currently we are not tracking the heap usage of block indexes. We're just relying on the fact that we leave a large percentage of total heap as part of "everything else" not in memstores or the block cache. The "everything else" portion should be left for ephemeral/transient memory usage, not long-lived objects like block indexes. Introduction of blooms will extend this issue to meta blocks in general.
All of this should be moved into an LRU. Either the existing block cache LRU or a new LRU.