Si tu veux que tous tes users partagent des instances, static ça convient. (J'espère qu'elles sont thread-safe).
Si tu veux n'en une initialiser qu'au moment où elle sert, et qu'elle soit unique pour tous tes clients, je te conseille un singleton:
| Code : 
 // ton instance
private static object _myinstance = null;// l'accesseur a ton instance
public static object MyInstance{  get  {    // si pas encore initialisé
    if(_myinstance == null)      // alors initialise
      _myinstance = new ....    return _myinstance;  }}
 | 
En revanche, j'ai du mal à comprendre pourquoi tous tes clients voudraient avoir accès a un thread...
 
 ---------------
			
Tout est normal, suffit de comprendre pourquoi.