|The code you posted doesn't have anything to do with the problem as far as we can tell.
If you're trying to create and manipulate controls in the background worker, you can't. Controls have to be created on the UI thread, the thread your app started on.
If you're adding data to controls, you cannot do it from a background worker. You cannot touch or modify controls from anything other than the UI thread.
You can load the data you need into data structures in the background worker, but adding that data to controls must be done on the UI thread.