C# Changing CandidateState of a job in OnStateElection


I have created a custom state WaitingCallBack, to prevent worker to be blocked by heavy consuming time processes.
In my filter, I use :

public void OnStateElection(ElectStateContext context)
if (context.CurrentState == ProcessingState.StateName
&& context.CandidateState is SucceededState
&& context.GetJobParameter(Constantes.WaitingCallBack_Parameter))
context.CandidateState = new WaitingCallBackState();

The job state if effectively set to WaitingCallBack, but only after beeing set to Success
The problem is that, in workflows, the next task is launched before the previous one is really terminated

Is there a way to prevent the job’s state to be set to Success ?

Thanks in advance for your help, and sorry for my english …