I've been working with Tim on this off and on for a few weeks. We increased his maxWorkerThreads to 100 (the default is 20) a while back. It helped a little with keeping his site running longer, but not with startup times.
Here's a good link for that stuff:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt17.asp
My theory is that there is so much cache to load for DNN when his app starts that there just isn't enough CPU to get it done, and there is probably some contention also when several of his portals try to load simultaneously. His server is definately processor bound during startup though, especially if traffic is allowed to get to it.
Did you know that when the app is loading that each Language .resx file that a new XML Document is created and transferred to a hashtable for each one, then placed into cache? This can 10 or so .resx files per page. Now imagine several different pages starting at the same time, plus loading the cache for portal settings and tab settings.
By the way, I have seen on a couple of installs where turning off caching totally brings the server to it's knees, and the application ends up recycling over and over because it's in a deadlocked state, so don't try that unless you can get at the database and put it back.