Double型の場合、値が無限大でもSignメソッドは適切な符号を返しますが、非数(NaN, 0/0)の場合はArithmeticExceptionをスローします。

Math.Signメソッドで非数(NaN)を指定すると例外ArithmeticExceptionをスローする
Imports System

Class Sample
  Shared Sub Main()
    Console.WriteLine(Math.Sign(+1.0 / 0.0))
    Console.WriteLine(Math.Sign(-1.0 / 0.0))
    Console.WriteLine(Math.Sign( 0.0 / 0.0))
  End Sub
End Class
実行結果
1
-1

ハンドルされていない例外: System.ArithmeticException: 関数は浮動小数点の非数値を受け入れません。
   場所 System.Math.Sign(Double value)
   場所 Sample.Main()