I have read this before but just want to make a permanent reference to it in this blog.
Brad Adams explains why the ArgumentNullException class violates the Design Guidelines here for not following the exception constructor patterns.
http://blogs.msdn.com/brada/search.aspx?q=argumentnullexception&p=1