I have a data provider. Is it thread-safe to use client specific instance variables in it? Is it that a new instance of my data provider is created for each new client? If one client fires up 2 instances of IE and logs in as the same client, 2 instances of my data provider are created to serve the requests If the client closes one browser, one of the 2 instances of my data provider is gced . if he closes both browsers, then both instances of my dp are gced right?