Invoke StateHasChanged() only after asynchronous operation has completed - C#