書き方悪かったっすか?
現状のHSPはシングルスレッドだから、内部でSleepかますとメッセージが処理できなくなる(現状の await p1, 1 )っしょ。
実行スレッドをメッセージループから切り離せば、そっちでSleepしててもちゃんとメッセージは処理される。