As a web developer, from time to time my applications don't work exactly as expected.
Sometimes there are bugs in the development phase that keep my apps from performing the way that I think they should.
Sometimes these are my fault, sometimes I find that these are small "bugs" or items that don't work as expected witin the frameworks that I might use.
After debugging apps, performance tuning is one of the other tasks of optimizing your app that can seem rather daunting.
There are many factors to consider with this task.
Here is an article that deals with .NET performance tuning: http://www.techbubbles.com/microsoft/performance-tuning-for-net-applications
It discusses some of the basics of optimization and gives a few cases of memory bottlenecks that might occur and how to fix them.
There are also a few tools and strategies discussed.