Никогда не реализуйте BGW без проверки свойства e.Error в обработчике событий RunWorkerCompleted:
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
if (e.Error != null) MessageBox.Show(e.Error.ToString());
}
Несколько загадочное недопустимое исключение приведения вызвано использованием свойства ReadyState в рабочем потоке.WebBrowser не является потокобезопасным.Проверьте этот ответ , чтобы узнать, как создать WB в рабочем потоке.
Однако это не очень хороший способ, если вам нужно, чтобы браузер оставался видимым для пользователя.В этом случае вам придется отказаться от использования потоков.Не реальная проблема, просто посчитайте индекс массива в обработчике событий DocumentCompleted.Хотя нет смысла прошивать эти веб-страницы.