А в файл вы зачем вы пишите?

Вот такой запрос будет долгим:
public static string GetHtmlPageText( string url ) {
WebClient client = new WebClient();
using ( Stream data = client.OpenRead( url ) ) {
using ( StreamReader reader = new StreamReader( data ) ) {
return reader.ReadToEnd();
}
}
}
Поэтому или нужно выполнять его асинхронно (async await) или положить ФБ в отдельный объект и у объекта поставить собственный цикл - чтобы вывести в отдельный поток.
Подробнее вот тут описано:
https://support.mps-soft.ru/MasterSC..._zaprosov.html