Per la domanda specifica "PClass sarà garbage collection": l'abbonamento all'evento non ha alcun effetto sulla raccolta di pClass (come l'editore).
Per GC in generale (in particolare il target): dipende dal fatto che MyFunction sia statica o basata su istanza.
Un delegato (come una sottoscrizione di evento) a un metodo di istanza include un riferimento all'istanza. Quindi sì, un abbonamento all'evento impedirà GC. Tuttavia, non appena l'oggetto che pubblica l'evento (pClass sopra) è idoneo per la raccolta, questo cessa di essere un problema.
Si noti che questo è a senso unico; cioè se abbiamo:
publisher.SomeEvent += target.SomeHandler;
quindi "editore" manterrà in vita "target", ma "target" non manterrà in vita "publisher".
Quindi no: se pClass verrà raccolto comunque, non è necessario annullare l'iscrizione agli ascoltatori. Tuttavia, se pClass era di lunga durata (più lungo dell'istanza con MyFunction), allora pClass poteva mantenere in vita quell'istanza, quindi sarebbe necessario annullare l'iscrizione se si desidera che il target venga raccolto.
Gli eventi statici, tuttavia, per questo motivo, sono molto pericolosi se utilizzati con gestori basati su istanza.