This seems to be a Windows ap, and you call System.Windows.Forms.Application.Exit (), but there is a thread still running in the background. You tried
Application.ExitThread(); Environment.Exit();
You can kill a process, as Jonesy mentioned, passing the process ID if it is a separate application than the current current process.
To do this, you need to use the System.Diagnostics.Process namespace and scroll through the currently running processes to get the correct pid, and then call kill on that pid.
source share