Not sure if you thought of this, but why don't you just put all of the code that depends on the loaded content into the method that gets called when LoadAsync finishes? So everything after GetContent(index) in OnNavigatedTo() gets moved into LoadAsync() after
this.Magazines[index].ContentNode = contentNode.InnerHtml;