Sono riuscito a risolvere.

Cambiando le impostazioni su AutoScroll avevo comunque il problema.

Alla fine per aggirarlo ho dovuto impostare ScrollBars.Horizontal prima dell'avvio del backgroundworker per poi rimmetterla a Both appena terminato.

Sinceramente non ho ancora capito il motivo di questo strano comportamento, ma in questo modo funziona.