Para la pregunta específica "Will pClass ser basura recogida": la suscripción de evento no tiene ningún efecto sobre la recaudación de pClass (como el editor).
Para GC en general (en particular, el objetivo): depende de si MyFunction es estático o está basado en instancias.
Un delegado (como una suscripción de evento) a un método de instancia incluye una referencia a la instancia. Entonces, sí, una suscripción a un evento evitará GC. Sin embargo, tan pronto como el objeto que publica el evento (pClass anterior) es elegible para la recopilación, esto deja de ser un problema.
Tenga en cuenta que esto es unidireccional; es decir, si tenemos:
publisher.SomeEvent += target.SomeHandler;
luego "editor" mantendrá "objetivo" vivo, pero "objetivo" no va a mantener "editor" vivo.
Así que no: si pClass se va a recopilar de todos modos, no es necesario cancelar la suscripción de los oyentes. Sin embargo, si pClass era de larga vida (más larga que la instancia con MyFunction), entonces pClass podría mantener viva esa instancia, por lo que sería necesario para anular su suscripción si desea que se recopile el objetivo.
Los eventos estáticos, sin embargo, por esta razón, son muy peligrosos cuando se usan con manejadores basados en instancias.
Voy a sugerir tentativamente a los lectores interesados en esta pregunta que podría valer la pena familiarizarse con los eventos livianos/patrones de eventos débiles, que NO evitan que se produzca la recolección de basura. Un buen SO arranque de este tema es http://stackoverflow.com/questions/185931/weakreference-and-event-handling – fostandy
Nota para la posteridad: establecer la referencia a null simplemente retrasa al recolector de basura extendiendo por una línea el alcance de la referencia. .NET no es VB6. –