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

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