I'd be interested to see what it looks like if zabbix is not running.
One thing you could do is take thread dumps and examine them. Look for threads that are not just waiting on objects, those are the active threads. The stack trace for those threads should give you some idea on what they are processing. This might help you track down what is generating the garbage.