Consumer task state is readonly
Regions for the state variables
StopInternal moved next to Dispose
Scope to enforce early cleanup