You sad "hosting provider"? Is this a dedicated server hosting only your kentico site? If not - it might be just collateral damage. You should start by ruling out issues (disabling things) one by one .
You can play around with app pool settings by resetting app pool if CPU hits whatever limit (google it)
<cpu limit="80000" action="KillW3wp" resetInterval="00:01:00" />
or like Trevor mentioned above, but that probably does not the answer questions why? And it kinda unstable because there is no guaranties that it doesn't happen during the day.
You know your set up best so it is hard to diagnose. Anyway here is my 2 cents in addition to what was said before:
Check also your smart search indexes, how big they are? and when re indexing is happening. Huge indexes can bring down a power server down easily. It might make sense to split them.
Check server logs (it might be result of the massive crawling) - you need to set pace in your robots.txt to prevent some bots from doing that. See who is coming, how often and what pages? It might need optimization or caching (I assuming it was done but who knows). One page can do lots of shit.
How is memory consumption/garbage collection? is is stable? No leaks? monitor your Memory / garbage collection statistic in the admin/system tab. Make sure that you have less objects when move up the generations: generation 1 should not have more objects where generation 2 etc. If something wrong here - then it is related to your custom code.