Yeah, this sounds right. I believe we don't currently do a very good job of keeping track of how much memory is used by the cache. This is something garbage collected languages are notoriously bad at to begin with. We also struggle to estimate or track how much memory is being used by a deserialized proto. We're open to suggestions/contributions.