CitarAl cerrarse cada uno tiene un delay distinto,en ese tiempo pueden volver a abrirse,he probado por arbor process también y no lo quita aunque ahora probaré con eso.
Si lo entiendo pero no creo que le de tiempo a tu programa a abrir otro proceso... tendrias que estar constantemente a la escucha y eso lo va a notar el usuario cuando vea el uso de CPU.
Yo me iria mas bien por el lado de hacerse pasar por un proceso legiptimo de windows inclusive como un servicio como parte de otro (vease svchost).
Saludos