Describe the bug
Currently, if a caller adds a *MemoryEntry with Data being set to a slice s with len(s) < cap(s), this will cause our mem cache to use more memory than its capacity leading to the mem cache using more memory than it thinks it reserves. This means that caller mistakes could lead to OOM errors.
To Reproduce
Reserve less capacity from blob memory cache but set the data with more size than the reserve capacity.
Expected behavior
BlobMemoryCache should handle caller mistakes in case of these buffer size mismatches.