Nullable<T>
не является ссылочным типом. Это тип значения:
public struct Nullable<T>
where T : struct, new()
Обратите внимание на struct
часть.
То, что оно имеет значение null
, не делает его ссылочным типом ... это тип NULL value . См. Раздел 4.1.10 спецификации языка C # 4 для получения более подробной информации.