I've found C# nullable types quite frustrating, because nullable generics don't work properly when they can be instantiated with both value types and reference types.
It feels like a very hacky approximation of an option type, which we are now probably stuck with. Compared to all the other amazing features they've added, that one felt a bit half baked.