It's mostly still a RAM eater. The largest culprit is, as @tomasbrod mentioned earlier, the block index. With Bitcoin it's an index to the files on disk. Blackcoin extended this to also include the mint, money supply, stake modifier, previous stake, stake time and some additional fields. Gridcoin extended it further by including the CPID, magnitude and research/interest subsidy.
It's done in this way to avoid having to read the actual blocks from disk which would be very slow when scanning N months back to verify research claims. There are some ideas to move this type of data to an SQLite database which would both speed up the tally calculations and reduce the RAM requirement. It's just a fairly large task to implement.