You'll have to profile your application to analyze where most of the time is spent in your code. Visual Studio has a profiler on board I think, but there also many good ones out in the wild:
- RedGate ANTS[^]
Google for "Free .NET Profiler" and I'm sure you can come up with a couple of free ones yourself.
Profiling code performance will pinpoint the bottlenecks in your application and you'll have to analyze what kind of tuning mechanisms could be applied.
Cheers and happy profiling!