У NGXS у метода dispatch() есть особенность. Он, оказывается, ждет завершения потока, который оборачивает в Observable.
Т.е., если в асинхронном действии не произойдет завершение потока, то Observable, который создается и возвращается dispatch-ем, вообще ни чего не эмитит и не завершается.