When large queries to a database are executed, the application may become unresponsive for a long period of time. To avoid this behavior and decrease the waiting time of the user, the query can be executed on a background thread, releasing the application for other tasks until the data is returned from the database and databinding is performed.
318604 – HOW TO: Populate Datagrid on Background Thread with Data Binding by Using Visual Basic .NET. Very handy article. I was trying something where my dataset was updated using a thread, but i kept getting an error “Controls created on one thread cannot be parented to a control on a different thread“. this solves that problem.