si tratta di una chiamata asincrona, quindi devi attendere l'evento di caricamento completato (DocumentCompleted), a quel punto ottieni tutto ciò che ti serve.

codice:
public Form1()
        {
            InitializeComponent();
            this.webBrowser1.Url = new Uri(@"http://www.html.it");
            this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }

        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            HtmlDocument html = this.webBrowser1.Document;
            string paginaCompleta = this.webBrowser1.DocumentText;
        }