Mam taki problem: Wczytać określoną stronę i pobrać uzyskane ciasteczka. Wszystko wykonywane powinno być synchronicznie(ponieważ funkcja musi zwrócić przygotowane ciasteczko). Problem w tym, że przy wywołaniu poniższego kodu Program się wiesza. Co robię źle?

public string LoadCookies(){
    string server = //adres servera (np. http://www.google.pl/)
    string page = //adres podstrony (np. index.php)
    System.Windows.Forms.WebBrowser loginBrowser = new System.Windows.Forms.WebBrowser();
    loginBrowser.Navigate(server + page);
    while(!(loginBrowser.Document==null|| loginBrowser.Document.Url.ToString().Contains(page))) System.Threading.Thread.Sleep(100); //tu program się wiesza
    return loginBrowser.Document.Cookie;
}