, evildictait​or wrote

*snip*

I think I found your problem.

LOL, but take it in context ... actually mentioning XSLT/XML probably confuses the issue - it's not really about XML per se.  Users have the option of using JSON as well, and in that case the performance would have degraded slower, but would have still degraded eventually.  Essentially, there is a pipeline, configured via web.config, which determines the components that should process the data.  There was a loop created because the users had configured the first component to process the data, pass that to the 2nd, which passes it to the 1st ... etc....  So, bad coding/configuration was the real culprit, but it also highlighted just how many strings were being created during these processing stages.