Лямбда-выражения являются синтаксическим сокращением для объявления функции. Таким образом,
(o, e) => { fCount++; Console.WriteLine(fCount); }
означает функцию, которая принимает два аргумента и выполняет два оператора.
Что касается фрагмента кода, отмена подписки '- =' не будет работать, потому что это сокращение для:
foo.MyEvent += new EventHandler( (o, e) => { fCount++; Console.WriteLine(fCount); } );
foo.MyEvent -= new EventHandler( (o, e) => { fCount++; Console.WriteLine(fCount); } );
Это на самом деле утечка ресурсов. Вместо этого сохраните ссылку на обработчик и используйте ее для подписки и отписки:
var handler = new EventHandler( (o, e) => { fCount++; Console.WriteLine(fCount); } );
foo.MyEvent += handler;
foo.MyEvent -= handler;