Метод Thread.Abort () (строго) устарел.
Обе темы и задачи должны взаимодействовать при остановке, иначе вы рискует покинуть систему в неустойчивом / неопределенном состоянии.
Если вам нужно запустить Process и убить его извне, единственным безопасным вариантом будет запуск его в отдельном AppDomain.