I would like to know when exactly is the SPHttpApplication class created and when destroyed/disposed. Does it last for the whole user session or only for a single request?
The SPHttpApplication class is declared in the Global.asax file at the root of the virtual directory for the SharePoint Foundation application. Normally, SPHttpApplication objects are not created with application code. The first time a SharePoint Foundation page is requested, a SPHttpApplication object is automatically created by Microsoft ASP.NET through its handling of global.asax to process the request.
Its mentioned in MSDN. Following is the url http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.applicationruntime.sphttpapplication.aspx
Its similar to HttpApplication Object and stays until app pool is recycled.