Don't rely on the container to clean up your mess. Stress test to find resource leaks. Okay, bonus Geek Speak. With an EXE, you can double-click the file's icon, and the code associated with the icon will run. DLLs must be called from other code that is already executing.
Programmers use DLLs in order to provide code that they can reuse and to parcel out distinct jobs.
The Windows operating system is itself a small executable that calls into several DLLs to handle the functioning of the system. Threads Aren't Free Don't create threads needlessly. Used to excess, they can waste a lot of time performing context switches. If you are going to use multiple threads, be careful to remember that you must provide synchronization , don't hog the processor , and watch out for deadlocks . You still have to do the work to make sure that this is, in fact, true.