The .exe will create its own thread and reserve resources for it if you run it. A .DLL file, is an in-process server, so user cannot run a DLL file on its own
EXE ASSEMBLY RUNS OUT-PROCESS WHEREAS DLL RUNS IN-PROCESS. EXE HAS MAIN AS STATING POINT WHEREAS DLL DOESN'T HAVE MAIN FOR EXECUTION.
.dll files are library files which are used to run the exe files. By default we cant run library files, we need Exe files (executable) to start our application. But exe files need dlls support to run. DLL - dynamic link library