Here is the condition I used to detect if we are dealing with a Nullable Type :
System.Nullable.GetUnderlyingType(itemType) != null
and here the code of my teammate :
itemType.IsGenericType && itemType.GetGenericTypeDefinition() == typeof(Nullable<>)
We actually didnt find a case where one will return true and the other false (or vice-versa) but are these 2 snippets strictly equivalent ?
From MSDN for Nullable.GetUnderlyingType Method:
So, yes it is safe to use the former version.
Decompiled from GetUnderlyingType: