There's an advanced property on the realtime tag providers (in the gateway Config > Tags > Realtime) called "Memory Resident Tag Properties" since ~7.9.1. You could try enabling this. As you can imagine given the name, there's a tradeoff in that it uses more memory.
Other than that... reduce your dependency on browseTags
. Call it less often, don't call it at high levels in the tag structure where it has to do a lot of recursion, cache results when applicable, hard code lists of tags instead of relying on tricky dynamic generation.