[Bugfix] ensure onerror’s are correctly unsubscribed in all scenarios

- [ ] audit for other scenarios
- [ ] unify?