Делаю тестовое. В нём, для начала, надо получить HTML страницу по URL. Это как-то так
var сlient = new System.Net.WebClient();
var html = webClient.DownloadString("https://любойсайт.com/");
Всё было бы слишком просто, если бы не условие - гарантируется, что размер HTML страницы превышает объём оперативки компа, который этот код будет запускать. Как это сделать? Я подозреваю что надо как-то с потоком и буфером работать, порциями данных, но не знаю, как это делается