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.