Q:

Session_Start & Session_End in Global.asax.cs

To which events of which class do these 2 event handlers belong?
For instance Application_BeginRequest in Global.asax is registered to BeginRequest of HttpApplication class by naming convention.
I couldn't find anything in these 3 classes regarding those 2 session events:
HttpApplication, HttpContext, HttpSessionState

A:

They belong to the SessionStateModule.
It's old documentation, but if you start at Using Modules with the Global.asax File you'll see that the events you can subscribe to are exposed by types that implement the IHttpModule interface. And looking at the documentation for that interface, you'll find the built-in types that implement IHttpModule:
Class                         Description
DefaultAuthenticationModule   Insures that an Authentication object is present in the context. This class cannot be inherited.
FileAuthorizationModule       Verifies that the remote user has NT permissions to access the file requested. This class cannot be inherited.
FormsAuthenticationModule     Enables ASP.NET applications to use forms authentication. This class cannot be inherited.
PassportAuthenticationModul   Provides a wrapper around PassportAuthentication services. This class cannot be inherited.
SessionStateModule            Provides session-state services for an application.
UrlAuthorizationModule        Provides URL-based authorization services for allowing or denying access to specified resources. This class cannot be inherited.
WindowsAuthenticationModule   Enables ASP.NET applications to use Windows/IIS authentication. This class cannot be inherited.

