最初からあったデリゲートの反変性は、
delegate void X(string)に
X x = (object obj) => {}; 代入をできるみたいなののこと。

GenericDelegate<in T>みたいな変性書けるようになったのは .NET 4からだし、
EventHandler<T> にはその意味の反変性(in T)はいまだにない。