This can e.g. happen if the debugged executable depends on unavailableexits before the initial stop, e.g. if it fails to load dependent DLLs.
One could also return e.g. Status(ERROR_DLL_NOT_FOUND, eErrorTypeWin32) hereAdd a virtual destructor to ProcessDebugger and let it clean up the session, but I presume that can be overly specific as I'd guess this condition can occurr in other cases as welland make ProcessWindows::OnExitProcess call ProcessDebugger::OnExitProcess for shared parts.