Странно, я обнаружил, что этот тип кода постоянно просачивается в .net, и должен был быть осторожен с - = обработчиком событий. Это правда, что память освобождается в конце концов , но на практике вы хотите очистить себя раньше, чем это.
Кроме того, никогда никогда не используйте лямбда-выражение для обработки события, поскольку у вас никогда не будет ссылки на этот объект.