If you simply put a breakpoint at the beginning of the DestroyService method and then try to quickly attach a debugger to your service instance process, you may miss the opportunity to debug the code you were hoping to debug. The DestroyService method may have already executed by the time you can attach your debugger to the service instance process. This is particularly likely if your workload completes very quickly, or if the service instance you want to debug starts up and shuts down very quickly if there is no workload to run.
To prevent the DestroyService logic from executing before you are ready to debug it, add an infinite while loop to the beginning of the DestroyService method. Make sure the infinite condition is not hard coded. You must be able to change the value of the variable to exit the while loop, so the execution flow can reach the true DestroyService logic.