К сожалению, вероятно, нет. Фоновый рабочий поток должен вызывать ReportProgress, чтобы обновить поток пользовательского интерфейса, и ему необходимо отслеживать CancellationPending, чтобы узнать, должен ли он остановиться или нет. Таким образом, если ваш рабочий поток выполняет параллельную операцию в одной строке, это невозможно сделать.
Возможно, я неправильно понял, поэтому вот код, который имитирует то, что я получаю:
public void DoWork() {
System.Threading.Thread.Sleep(10000);
// won't execute until the sleep is over
bgWorker.ReportProgress(100);
}