'*************************************** ' Delegate Routines '*************************************** Delegate Sub RetrieveValidDatabases_Threaded(ByRef objSelectedDatabase As ClassLibrary.SQLDBWrapper, _ ByRef objParent As Object, ByRef objListObject As Object, ByRef objWaitEvent As Threading.AutoResetEvent) . . . '*************************************** ' Retrieve List Of Valid Databases In This Server ' This Method Can Be Time-Consuming And Has Been Threaded '*************************************** Dim objGetDBListThread As New RetrieveValidDatabases_Threaded(AddressOf App.RetrieveValidDatabases) objGetDBListThread.BeginInvoke(Me.objSelectedDatabase, _ Me, CType(listDatabases, Object), Me._objWaitEvent, Nothing, Nothing) . . . Public Sub RetrieveValidDatabases(ByRef objSelectedDatabase As ClassLibrary.SQLDBWrapper, _ ByRef objParent As Object, ByRef objListObject As Object, ByRef objParentWaitEvent As Threading.AutoResetEvent) . . . End SubIs there something wrong with my usage of BeginInvoke? I stepped through the code, and the method being called using the Invoke, never seems to run, the system literally hangs at the execution of BeginInvoke().