Each data cache requires some extra memory for overhead. The amount of overhead will vary based on (at least) the number of partitions (aka cachelets), with the overhead increasing as you increase the number of partitions/cachelets.
You have a few options:
- increase max memory
- decrease the size of your cache
- reduce the number of partitions for this cache (either explicitly via the sp_cacheconfig stored proc, or implicitly by changing the configuration option 'global cache partition number')
sp_helpcache can be run to show cache name, size and overhead