What I can imagine is that you already set it to be the datasource of a datagrid (or any other UI component) and because you are updating the data, the UI control halts and waits for completion. With this method it prevents updates while executing an update (or any other action). I think you can prevent stalling by removing it as datasource for UI components.
Another scenario is that you construct a thread with the method you want to execute in another thread, but eventually call it directly anyway:
Dim t As Thread
t = New Thread(AddressOf BackgroundProcess)
BackgroundProcess
Instead of:
Dim t As Thread
t = New Thread(AddressOf BackgroundProcess)
t.Start()
Otherwise... you could indeed post some code to make it easier to spot the problem :-D
Good luck!