Me.Controls contains every control placed on the form. It will go through every control and try to implicitly cast it as a TextBox the way you've set it up. You need to rewrite your code to check whether it is a TextBox first.
For Each ctrl As Control in Me.Controls
If TypeOf ctrl Is TextBox Then
If Ctype(ctrl, TextBox).Text = "" Then
NewTextBox = False
End If
End If
Next
And none of that needs to be in a Try/Catch block. It should never throw an unhandled error.