I was having issues with a website on my server which was occasionally losing session state.
I narrowed the problem to IIS7, so I added a method to the Application_Start event (it's an ASP.Net MVC app), which emails me every time the application is started and re-deployed the site about a week ago. I've been getting the 'startup' email every 26ish hours since.
So, I'm wondering why IIS would be restarting the app.