Per SynchronizedCollection.Add, an ArgumentException is thrown when "The value set is null or is not of the correct generic type T for the collection". ReSharper 8 also considers this a [NotNull] parameter.
However, there is no exception when running the following code in LINQPad:
new SynchronizedCollection<string>().Add((string)null);
Furthermore, inspection of SynchronizedCollection.Add reveals it delegates down to List.Insert which does not have this limitation. ("The object to insert. The value can be null for reference types."
Given this conflicting information and behavior, is it valid to add null to a SynchronizedCollection?
Did it used to be the case that adding a null value would have raised an exception?