「pClass はガベージ コレクションされますか」という特定の質問について: イベント サブスクリプションは、pClass のコレクションに (パブリッシャーとして) 影響を与えません。
一般的な GC (特にターゲット) の場合: MyFunction が静的かインスタンスベースかによって異なります。
インスタンス メソッドへのデリゲート (イベント サブスクリプションなど) には、インスタンスへの参照が含まれます。そうです、イベント サブスクリプションは GC を防ぎます。ただし、イベントを発行するオブジェクト (上記の pClass) がコレクションの対象になるとすぐに、これは問題ではなくなります。
これは一方向であることに注意してください。つまり、次の場合:
publisher.SomeEvent += target.SomeHandler;
その場合、「パブリッシャー」は「ターゲット」を存続させますが、「ターゲット」は「パブリッシャー」を存続させません。
したがって、いいえ: pClass がとにかく収集される場合は、リスナーのサブスクライブを解除する必要はありません。ただし、pClass の寿命が長い (MyFunction を持つインスタンスよりも長い) 場合、pClass はそのインスタンスを存続させることができるため、ターゲットを収集するには、サブスクライブを解除する必要があります。
ただし、静的イベントは、この理由から、インスタンス ベースのハンドラーで使用すると非常に危険です。