はじめに ArgumentException を throw していたところを ArgumentOutOfRangeException に変更したら、メッセージが変なことになった。
つまりこういうこと
継承しているんだから、そろえてくれてもいいと思うんだけどね。
それぞれのstring 一つ版のコンストラクタが、メッセージを指定するもの(ArgumentException)、引数名を指定するもの(ArgumentNullException, ArgumentOutOfRangeException)と異なるから、こういう形にしたんだろうな。