Loading every person, family and event into memory is obviously going to make the tool run faster.
Our FAQ has a section What are the Minimum Specs to run Gramps? which lists the minimum memory requirement as 512MB or lower. This perhaps needs updating, but we should be aware that some people may be running Gramps on lower end spec machines.
The LRU used in the proxy cache has 2^17-1 (about 130,000) entries. Your cache is bigger if you don’t clear it between groups of rules.
Perhaps we can change the order in which the rules are evaluated in order to maximise cache hits? A tree walk would be worth considering.
I also notice that there are 4 rules which don’t use the cache when accessing families and events.