La définition d'un délégué définit une nouvelle classe. Donc, cela nécessite de la mémoire pour stocker des informations sur la classe (également au moment de l'exécution).
La définition d'un Func
ou Action
avec des types génériques spécifiques définit (caché à vous) une nouvelle classe lors de l'exécution. Donc, cela a aussi besoin de mémoire.
Les méthodes anonymes sont transformées en une méthode normale avec un nom charabia par le compilateur, et mis dans une classe privée. Puis, comme toute autre méthode, il faudra la mémoire lors de l'exécution pour stocker le code qui doit être exécuté. Et la classe exigera un peu de mémoire, tout comme les autres classes.