Can anyone tell me why this doesn't work?

Imports System.Threading

Shared Sub MsgError(ByVal InStr As String)
MsgBox(InStr)
End Sub

Private Sub Start()
Try
...some code...
Catch ex As Exeption
Dim T As New Thread(AddressOf MsgError(ex.Message))
T.Start()
End Try
End Sub

'I basically want to pass errors to a messagebox sub in it's own thread, It seems to not like the arguments being passed in the MsgError, almost like it doesn't accepts anything but the address??