Hi,
For MonitoringHost.exe high CPU issue, there may be many reasons, we may do search in the Operations Manager Event log for some events at the time of the Spikes or when the issue occurs as Stoyan susgested in this post.
As you mentioned, the application log is being flooded with events. If the Event ID is 3006, we may check this article:
https://janscman.wordpress.com/2013/01/03/scom-troubleshooting-constant-high-cpu-usage-of-monitoringhost-exe-and-event-3006/
Note: this is not from MS, just for your reference.
Hope the above information helps.
Alex Zhu
If the response is helpful, please click "Accept Answer" and upvote it.