var b = (null + DateTime.Now); // String
var b = (null + 1); // System.Nullable | same with System.Single, System.Double, System.Decimal, System.TimeSpan etc
var b = (null + new Object()); // String | same with any ref type
Crazy?? No, there must be a reason behind it.
Someone call Eric Lippert
...