C'è una proprietà per monitorare lo stato del caricamento della pagina e si chiama WebBrowser1.ReadyState e può assumere cinque valori:
-Complete (pagina completamente caricata)
-Interactive (le parti della pagina caricate sono sufficienti a garantire un minimo di interazione con l'utente, ad esempio con dei click sui link presenti);
-Loaded (il documento è caricato e inizializzato, ma non tutti i dati sono ancora stati ricevuti);
-Loading (il documento è in caricamento);
-Uninitialized (nessun documento è stato aperto).

Quindi invece di scrivere:
codice:
While sec > Now.Subtract(time).TotalSeconds 
Application.DoEvents() 
End While
metti questo:

codice:
While WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
End While
Piccola informazione tecnica: quando posti del codice usa gli appositi tag come ho fatto io; altrimenti i moderatori ti scannano: contattane uno e fatti mettere apposto il post.