I tested this code with Google's DNS Server 8.8.8.8 and it returns "google-public-dns-a.google.com" which is correct.
Public Function UseIPGetHost(ByRef IPAddr As String) As String
Dim hostname As System.Net.IPHostEntry
hostname = System.Net.Dns.GetHostEntry(IPAddr)
Return hostname.HostName
End Function
Maybe you should just use your code, but make it multiple lines and use variables so that it is easier to read for you and you can see the process. Hope this helps you!