Tipo anulável GetType () lança exceção

Acabei de receber este teste de um colega que está me deixando louco. Para este trecho de código:

var x = new Int32?();
string text = x.ToString(); // No exception
Console.WriteLine(text);
Type type = x.GetType(); // Bang!

Por que a primeira parte .ToString () funciona sem lançar uma exceção e, em seguida, a chamada para GetType () lança um NullReferenceException?

questionAnswers(1)

yourAnswerToTheQuestion