nullability checks are a compile-time check for tooling rather than a hard truth. It just stops you from compiling potentially incorrect code. These safe guards don't make it to runtime, so there are no guarantees.
It's weird. How .NET operates, it's better to be defensive about reference types in general, even if you're using the nullability features.