If we consider again this case here:

And its called with:
p2 = myObject.TestFunction(Of Person)("some param")
Then if the TestFunction has the following content:
return new T()
Then we get no build error but we get crash.
If we do:
Var ti As TypeInfo = typeof(t)
Return ti.CreateInstance()
Then code compiles but also crashes.
if doing
return new Person()
Then code compiles and does not crash. But of course we have lost the whole point of the Generic there.