Middleware for a client
Looking at your code I don't see any glaring performance issues. What you really need to do is measure the performance of any code that accesses an outside resource, such as a file or web service. That said, I would benchmark the execution time for the following items:


All calls to logger since I assume these hit the file system or database. Also be wary of logging to a shared drive, as this is really a network service call disguised as a direct call to the hard disk.
The call to the WebClient.UploadString method. If that service gets bogged down, your middleware will run slow as well.
The last item that might be slow is deserializing the input from JSON.


The more likely culprits are calls utilizing external resources, such as web services or the file system.