Yes, you should be able to find the memory leak using .NET Memory Profiler.
If you can run the application under the profiler you can collect a snapshot after the memory leak has occurred. By investigating this snapshot you will hopefully be able to determine what causes the leak.
You can also try to use the peak snapshot collection feature. Using this feature, you can automatically collect a snapshot when a memory usage peak has been reached. For more information, see
http://memprofiler.com/onlinedocs/peaksnapshots.htm.
If you cannot run the application under the profiler for any reason, or if the memory leak quickly causes an OutOfMemoryException, then you can try to create a memory dump file of the application and import it into the profiler. It is possible to configure the ADPlus tool included with "Debugging Tools for Windows" so that it automatically creates a memory dump file when an OutOfMemoryException occurs. If this is something you are interested in, please tell me and I will give you some more information.