Simply put, you are actually starting two processes, not just one. That is why it takes longer.
When you double-click on your application, you download only one application and all its DLLs.
When you run the diagnostic application, you first download the first application with its .NET assemblies, which should be JIT'd (only at compile time: it's not free). Only after that everything will be completed, then the OTHER application will start working. If your target application is also a .NET application, then the whole cycle repeats.
C johnson
source share