You don’t need to create Observables like that unless you’re doing something super fancy. Most standard libraries already have Angular shims so async functions return Promises or Observables as appropriate. It’s a lot safer to go with code like that, which has already been community tested. Observables can be hard to debug.
To answer your other question, you do need to unsubscribe from any Observable you create. There is a lot of good discussion on this forum about best practices here. Not everyone agrees on everything, but there have been some great methods presented. One discussion is here: Should I unsubscribe Observables lists?