As a sidenote, the reason Windows can deal with handle rugpull is due to the use of wait completion packets, as hinted in https://devblogs.microsoft.com/oldnewthing/20220406-00/?p=106434.
In fact we already have some basic WaitCompletionPacket implementation in works: !6911. A "right" direction would involve rewriting TP logic around completion packets.
However this patch seems arguably a reasonable compromise, so I'm a bit split here. Hopefully someone more knowledgeable could step in and have a say on what would constitute the right direction forward.