The problem was caused because I was using the same CallbackChannelManager.ManagerId to re-register the callback.
I started generating a new ManagerId before re-registering the callback and the error stopped, so now my code looks like:
CallbackChannelManager.CloseClientChannel;
CallbackChannelManager.ManagerId := TDSTunnelSession.GenerateSessionId;
CallbackChannelManager.RegisterCallback(TDSTunnelSession.GenerateSessionId, TMyCallback.Create);