Une proposition simple pour rendre l'écriture de plugins plus simple aux débutants : ajouter une classe de base abstraite qui implémente déjà (en virtual) la plupart des élements des interfaces de la façon la plus "standard" possible, en ne laissant à redéfinir obligatoirement que les éléments vraiment essentiels même pour un plugin très simple.
A propos du Dispose dans ton exemple de plugin, peux-tu expliquer pourquoi tu appelles :
GC.SuppressFinalize(this);
et c'est normal que ta classe n'implémente pas l'interface IDisposable ?
En tous cas, c'est un projet bienvenu relevant un peu le niveau. Dommage que je n'ai pas le temps de me plonger dedans.