If these controllers are stopped and then started later (without unloading and loading), then its update function is called and within it, the dt_ passed to the updatePid function is a very large value, which means that if there is any error at all, the integrator will likely become saturated in one step.
What happens is that the commanded effort will jump when you start the controllers. At first I thought perhaps the controller manager was still calling the update loop, causing the integrator to accumulate error, but the controller manager is working properly.