少し構造が分かりにくいかもしれませんが、現状をお伝えします。

STEP1:Class1 より Form1を呼び出し(Form1の引数はインターフェイスで定義してありclass1のインスタンスを渡します)

STEP2: Form1のShownイベントより、引数で受け取ったインターフェイスのメソッドを新しいスレッドを作成し、スタートさせます。

STEP3: スタートさせたスレッドのエラーを拾いたいのですが、実行したメソッドの内部ではキャッチされるのですが、上位でトライを書いてみてもキャッチすることができません。

Class1

dim f1 as new form1(me)
f1.showdialog()

Form1

dim IF as InterFace
sub new (byval IF as InterFace)
   me.InterFace = IF
end sub

' FormShownイベント
Dim Thread1 As New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf threadA))
tread1.isBackGround = true
tread1.start()

private sub threadA
   me.IF.method
end sub

エラーをキャッチするタイミングとしては、Form1を呼び出すclass1がベストなのですが、そもそもエラーをキャッチすることができません。
どなたかお分かりになる方はいらっしゃいませんでしょうか。