The tutorial at https://developer.garmin.com/connect-iq/core-topics/backgrounding/ does not comply with the current signature:
public function getServiceDelegate() as ServiceDelegate{ return new MyServiceDelegate(); }
It should look as follows:
public function getServiceDelegate() as Array<ServiceDelegate>{ return [new MyServiceDelegate()]; }