We have a .net library that communicates with a web service over a “REST-like” interface. To send data to the interface, we need to PUT or POST XML data.

The library is a few years old and uses the WCF REST implementation that existed before it became a part of the .net framework. It was called the WCF REST Starter Kit, and has since been superceeded by built-in classes, but it works, and we haven’t had the inclination or time to change code that works.

The communications library was originally used by a server-side Windows Service which was only used by a few users at a time, and its PUT or POST operations are rarely used.

Recently, we started to use the communication library in a new project where it is used in a multi-tenant server with many simultaneous users, and its PUT and POST operations are called much more often. This new usage made a memory leak much more significant than before.