Angular Observables with ngOnDestroy hook can cause memory leaks. To prevent this, use the `takeUntil` method to unsubscribe from observables when a component is destroyed. The `ngOnDestroy` lifecycle hook can be used to push values into the `onDestroy$` subject, which then triggers the unsubscribing of the observable. This approach makes it easier to manage multiple subscriptions and prevents memory leaks.