Lo unico que te puede decir es que sin hacer un profiling de la aplicacion es programar por adivinacion. Conoces cuales son los metodos mas lentos? Realmente no hay memory leaks? Guardas en un log las consultas sql y cualquier otro comportamiento? Puedes reproducir de la forma mas simple posible los puntos de falla? Has usado el medidor de recursos de NT y sabes que EXACTAMENTE es el incremento, si es mayor CPU o mayor Memoria o que?
Si la aplicacion progresivamente es mas lenta, es porque hay contencion en los recursos (ie: Un recurso esta bloqueado y bloquea los procesos que intentan acceder a el) o hay recursos que no se liberan (memoria...?) o estas cargando listas de algo y no se estan liberando.
Seria util que trates de reducir el area de investigacion. Si puedes crear una version simplificada que imite la operacion y miras si se presenta el problema. Tambien puedes tratar con una herramienta de profiling. De esta pagina
http://www.automatedqa.com/ te bajas la version gratis MemProof o AQtime. Sin embargo, no te va a ayudar magicamente sin sentarse a analizar las cosas...