How is Sensor.notifyError supposed to be used?

I am trying to add SensorDelegate to my datafield. As a "side-effect" I now call Sensor.notifyError in places where there's a sensor related error. This can even happen when I'm not in a sensor pairing flow. So I'm not really sure if this is the reason this doesn't work in simulator, or that it really doesn't work in the simulator.

So in my datafield's app I have:

class MyDF extends Application.AppBase {
  public function getInitialView() as [Views] or [Views, InputDelegates] {
    self.sensor = new MySensor();
  }
}

class MySensor extends Ant.GenericChannel {
  public function initialize() {
    try {
        GenericChannel.initialize(method(:onMessage), new Ant.ChannelAssignment(
            Ant.CHANNEL_TYPE_RX_NOT_TX, // Bidirectional Receive (Slave)
            Ant.NETWORK_PLUS)
        );
    } catch (e instanceof Ant.UnableToAcquireChannelException) {
        self.error = ERROR_UNABLE_TO_AQUIRE_CHANNEL;
        Sensor.notifyError(self.error + ". init: " + e.getErrorMessage());
        self.searching = -1;
    }
  }
}

and usually this works (i.e I don't reach the catch) and also in the simulator sensor pairing works (where at the end I call Sensor.notifyNewSensor and Sensor.notifyScanComplete), but sometimes I get an error: Unable to acquire ANT Channel

I don't know why this happens sometimes (or whether it only happens in the simulator, or also on real devices, I haven't seen any sign of it so far) but when it happens in the simulator, then I get another error when I call Sensor.notifyError:

Error: System Error
Details: Failed invoking <symbol>