AddressableのLoadAsyncをStart()内で待つと固まる

最近UnityでAddressableを使ったアセットのロードをすることが増えてきました。
ある時MonoBehaviourのStart()関数内でこのような関数を実行したとき、Unityが固まるようになりました。

void Start(){
    m_handle = Addressables.LoadAssetsAsync<GameObject>(_labelReference, null);
    m_handle.Task.Wait();
}

原因

どうやら、Start()内でAddressables.LoadAssetsAsyncの完了をWait()関数で待とうとするといつまでたっても終わらずにフリーズしてしまうようです。
非同期でのWait()関数はデッドロックが発生しやすいらしく、調べてみると他にも色々な事例を見ることができます。
qiita.com

解決策?

解決策としては、Wait()をせずにコールバック関数などで制御するかでしょうか。
非同期はデッドロックが起こった場合の対処が難しいです…