Varcache may be using less memory because of efficiencies introduced in 5.3.x; it's not easy to tell without innate knowledge of the script's intricacies.
The easiest way to reduce fragmentation while not increasing memory allocation is to reduce xcache.count. (I suggested reducing it to 4 in my previous post.) Because of how data is stored in the cache, not all will be used when you start getting OOMs - it's just that the chunk of data you are trying to store doesn't fit in any of the spaces free.
Think of it like a parking lot. While there is much free space when you count all the spaces in between the cars as a whole, you can't fit anything much bigger than a bike between any two adjacent cars.
If you have free memory lying about, though, it definitely doesn't hurt to increase xcache.size.