Threads and Processes are different from applications!
If you have an application (i.e. an EXE file) you want to run each time you create a control instance, then the control needs to call Process.Start:
Process.Start("MyApp.exe", "my app parameters");
Process.Start Method (System.Diagnostics) | Microsoft Docs[
^] or one of it's overloads, or create a Process instance for finer control.
If you have a task you want to run in the background within your control but the code is built into the control's assembly, then you need a Thread, and I'd recommend startith with a
BackgroundWorker Class (System.ComponentModel) | Microsoft Docs[
^] instance.