Is the StringReader not being disposed multiple times? It looks like it to me