¿Por qué agregar nulo a una cadena es legal?

El artículo de MSDN enString Basics muestra esto:

string str = "hello";
string nullStr = null;
string emptyStr = "";

string tempStr = str + nullStr; // tempStr = "hello"
bool b = (emptyStr == nullStr);// b = false;
string newStr = emptyStr + nullStr; // creates a new empty string
int len = nullStr.Length; // throws NullReferenceException

¿Por qué la concatenación con nulo no arroja una excepción de referencia nula? ¿Es para hacer la vida de un programador más fácil, de modo que no tenga que verificar si es nulo antes de la concatenación?

Respuestas a la pregunta(5)

Su respuesta a la pregunta