Session management in GNOME is handled by gnome-session. The default session on GNOME uses GNOME Shell, but gnome-session is also able to start other sessions with different desktop environments. The gnome-session script is usually started by the display manager (such as GDM3) after a user has entered the correct credentials on the login screen. If gnome-session is invoked with the --systemd option (available since GNOME 3.34), then gnome-session will use systemd to create a user slice and start the required services.
Thoughts on /SavingState
Initial proposal on desktop-devel-list.
XSMP, libSM, ICE, and libICE docs (PDF only)
Obsolete X11R5 SM spec (WM_SAVE_YOURSELF; we most likely want nothing to do with this)
freedesktop desktop file spec (used by autostart)
markmc's session management proposal from last summer. This proposal involved a whole new architecture, but much of the argument is still relevant.