DocumentCompleted disparando varias veces: la respuesta de StackOverflow aceptada no funciona

Pruebo si mi WebBrowser se completa con:

webBrowser2.DocumentCompleted += (s, e) =>
{
    // Do stuff  
}

La página web a la que estoy accediendo como toneladas de archivos JS y iframes y esas cosas, por lo que uso la siguiente función para asegurarme de que la página real se haya cargado.

webBrowser2.DocumentCompleted += (s, e) =>
{
    if (e.Url.AbsolutePath != (s as WebBrowser).Url.AbsolutePath)
    {
        return;
    }       
    // Do stuff    
}   

Sin embargo, todavía no parece estar funcionando. ¿Estoy haciendo algo mal o esto es sintácticamente correcto y hay algún otro error en mi código?

Respuestas a la pregunta(3)

Su respuesta a la pregunta