Is it good practice to subscribe directly to Observable returned from method?  

Will it be garbage collected before the callback method is called?  

For example I have method in service: 

```
get<City>(id): Observable<City> {
    var url = this.baseUrl + "api/Cities/" + id;
    return this.http.get<City>(url);
}

```

Then in component I have:

```
ngOnInit () {
    this.cityService.get<City>(this.id)
            .subscribe(result => {
                 this.city = result;          
            }, 
            error => console.error(error));
}

```

The callback method can be called any time, even after 10 minutes, and the Observable is already out of scope.   

So is it possible that in a bad scenario the returned Observable can be garbage collected before the city is assigned in the callback method?