Yes, that's correct. Think about it...
Your code says iterate through *every* control in the page's control
collection, cast it to a TextBox (even if it isn't), and then clear its Text
property... As soon as the For loop reaches a control which *isn't* a
TextBox, the exception will be thrown.
For Each objControl As Control In Me.Controls
If GetType(objControl) = "TextBox" Then
DirectCast(objControl, TextBox).Text = ""
Apologies if the above isn't syntactically correct - I never go anywhere