WCF est hébergé par IIS et donc soumis à ses règles de durée de vie. Une classe de service, en elle-même, sera probablement créée et détruite au besoin dans l'application; la classe sera construite à la réception d'une demande, la méthode appelée, et le résultat retourné, après quoi l'objet quittera la portée et sera éliminé/finalisé. Toutefois, le projet contenant votre service ressemble à une application Web ActiveServer.NET ordinaire à IIS (consultez le fichier Global.asax qui doit s'y trouver, il contient une classe de type HttpApplication et représente le point d'entrée de l'application que IIS peut utiliser pour le contrôler) et IIS maintiendra un «pool» de ces applications pour gérer les demandes provenant de plusieurs clients. Tant que les demandes ne cessent d'arriver, et qu'IIS ne décide pas qu'une application a été "périmée" et l'actualise ou l'ensemble du pool, l'application continuera à s'exécuter. Ainsi, toutes les classes statiques que vous déclarez, par exemple votre conteneur IoC singleton, ou tout ce que vous ajoutez à une classe HttpApplication dérivée que vous utilisez comme type enfant, resteront en mémoire jusqu'à ce que l'application soit recyclée.