В этой статье указано Вы не можете отменить подписку на событие с использованием выражения лямбда.
например. вы можете подписаться следующим образом:
d.Barked += (s, e) => Console.WriteLine("Bark: {0}", e);
но вы не можете отписаться следующим образом:
d.Barked -= (s, e) => Console.WriteLine("Bark: {0}", e);
Почему? Какая разница между этим и отпиской от делегата, например
EventHandler<string> handler = (s, e) => Console.WriteLine("Bark: {0}", e);
d.Barked += handler;
// ...
d.Barked -= handler;