As the documentation says, the events are linked to the lifetime of the application domain, which in practice means the app pool which the application is running in. Application_Start will fire again if the app pool is recycled for any reason - a change to web.config, for example.