Що стосується конкретного питання "Чи збиратиметься pClass сміття": підписка на подію не впливає на колекцію pClass (як видавця).
Для GC загалом (зокрема, цільової): це залежить від того, чи є MyFunction статичним або на основі екземплярів.
Делегат (наприклад, підписка на подію) методу екземпляра включає посилання на екземпляр. Так, так, передплата на подію запобіжить GC. Однак, як тільки об’єкт, що публікує подію (pClass вище), має право на збір, це перестає бути проблемою.
Зауважте, що це одностороння; тобто якщо у нас є:
publisher.SomeEvent += target.SomeHandler;
тоді "видавець" збереже "ціль" живим, але "ціль" не збереже "видавця" в живих.
Так що ні: якщо pClass все-таки збиратиметься, слухачам не потрібно підписувати підписку. Однак, якщо pClass був довговічним (довше, ніж екземпляр з MyFunction), то pClass міг би зберегти цей екземпляр живим, тому потрібно буде скасувати підписку, якщо ви хочете збирати ціль.
Однак статичні події з цієї причини є дуже небезпечними при використанні з обробниками на основі екземплярів.