Hey thanks for the response. No third-party plugins, but I figured it out in the end.
I am using the particles plugin to spray a water droplet object out of a pipe. The particles plugin was set to spawn a separate water droplet object as each of the particles. I had the plugin set to destroy the particles once stopped (instead of a timeout), but was also destroying the object/particle once it hit a certain surface. However, even though the object was being destroyed on collision, the particles plugin kept counting it as existing. So my object count in the profiler was always ~ 200 but according to the particle plugin there were 2600+ (and growing) particles after a couple minutes. Once I set the particles plugin to timeout after 5 seconds (even though the object would be destroyed on collision before the 5 seconds is up) 'Plugins Processing' was drastically reduced and the particle plugin was never counting more than 100 particles at a time. After running it for 30min plugins processing never exceeded 4% of CPU usage and my frame rate never dropped.
All good that it is was solved in the end. Still would be nice to have a better breakdown for plugin processing since having known it was the particles plugin from the start would have saved a bunch of time. I'll throw it on the suggestion board.