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.
(source: microsoft.com)
- The client calls the proxy and the proxy forwards the call to the service.
- Windows Communication Foundation creates a service instance and calls the method on it.
- After the method call returns, if the object implements IDisposable, then Windows Communication Foundation calls IDisposable.Dispose on it.