I noticed that string.Join(" ", new object[] { null, "a", null, "b"}) returns string.Empty
Notice that string.Join(" ", new string[] { null, "a", null, "b"}) returns a  b (as I would expect)
Things get vicious when concatenating characters:
string.Join(" ", new object[] { null, 'a', null, 'b'}) which also returns string.Empty
Edit: Even though the documentation says it (thanks to @elgonzo), is there a valid reason such exception was implemented in the framework ?
 
    