Potential issues with memory allocation

I'm looking into potential issues with memory allocation on the mirror net, a lot of changes between v1.25.0 and current develop running no the fake/mirror net.
It started with few OOM on a 32GB machine that was running a block producing node for the fake/mirror.

On mainnet, v1.25.0, long running block producing node takes 9-11G RES, 26-30G VIRT
On mirror, develop seems to vary a lot, between 15-20G RES, 31-98G VIRT

Lets use this issue to track mem-related findings.

On my system I'm using ce748a15

config.ini file:

log-appender = {"appender":"stderr","stream":"std_error","time_format": "iso_8601_microseconds"} {"appender":"p2p","file":"logs/p2p/p2p.log","time_format": "iso_8601_milliseconds"}
log-logger = {"name":"default","level":"info","appender":"stderr"} {"name":"user","level":"debug","appender":"stderr"} {"name":"sync","level":"info","appender":"stderr"} {"name":"p2p","level":"debug","appender": "p2p"} 
backtrace = yes

plugin = webserver p2p json_rpc
plugin = database_api condenser_api

plugin = witness
plugin = rc

plugin = block_api network_broadcast_api rc_api

plugin = state_snapshot
plugin = wallet_bridge_api

shared-file-dir = "/run/hive"
shared-file-size = 28G

flush-state-interval = 0

p2p-endpoint = 0.0.0.0:2001

p2p-seed-node = 127.0.0.1:2002

webserver-http-endpoint = 0.0.0.0:8091
webserver-ws-endpoint = 0.0.0.0:8090

webserver-thread-pool-size = 4

plus entries for witnesses and the key
should be easy to reproduce by loading snapshot with mirror bootstrap
https://gtg.openhive.network/get/testnet/mirror/ and sync'ing node up to the head block