Если наблюдаемая завершается, нужно ли мне отписывать / удалять (в RxJS) наблюдаемое, чтобы удалить Observer (предотвратить утечки памяти), или это обрабатывается внутренне Rxjs при возникновении события onComplete или onError?
Нет, вам не нужно отписываться от того, что, как вы знаете, завершено.
Если вы посмотрите на исходный код функции RxJS toPromise (), выувидеть подписку, но не отписаться.Это потому, что в этом нет необходимости, вы знаете, что наблюдаемое завершено.