If I understand your question correctly, one quite brute-force way would be that you store the 'main' data table outside the background workers, perhaps in a static field.
In the end of each worker, use
DataTable.Merge Method (System.Data)[
^] to merge the data tables. Just remember to use
SyncLock Statement | Microsoft Docs[
^] to prevent simultaneous merge operations