WCF Service Memory Leaks

You're requesting a new instance per call (InstanceContextMode=InstanceContextMode.PerCall). If there is no GC happening in the 1000 calls then the service instances will be uncollected. WCF requires you implement IDisposable

From MSDN : Discover Mighty Instance Management Techniques For Developing WCF Apps

Per-Call Services Per-call services are the Windows Communication Foundation default instantiation mode. When the service type is configured for per-call activation, a service instance, a common language runtime (CLR) object, exists only while a client call is in progress. Every client request gets a new dedicated service instance. Figure 2 illustrates how this single-call activation works.

Figure 2 Per-Call Instantiation
(source: microsoft.com)

  1. The client calls the proxy and the proxy forwards the call to the service.
  2. Windows Communication Foundation creates a service instance and calls the method on it.
  3. After the method call returns, if the object implements IDisposable, then Windows Communication Foundation calls IDisposable.Dispose on it.