Prueba si el parámetro admite la reflexión nula
bool canBeNull = !type.IsValueType || (Nullable.GetUnderlyingType(type) != null);
Annoying Ape
bool canBeNull = !type.IsValueType || (Nullable.GetUnderlyingType(type) != null);