Threads run in the context of the process that hosts them. So if you terminate your console or "return control", which you can do, your thread won't complete (more likely your thread will prevent your application from exiting, which is also what you don't want).
You can simulate returning control to the batch file/shell with the start command:
c:\>start myconsole
This creates a new command window in which your process runs synchronously, but the batch file from whence you launched it won't have to wait.
You can also "simulate" it by spawning a child process. See Process.Start() for an idea.