How It Happened
When I typically install Windows, I go ahead and try to disable all the telemetry and “security” features implemented by Microsoft to send all my data to their servers. Whilst doing so, I also wanted to disable some CPU exploit protections that have been enabled, to gain more performance out of my system. I know it sounds contradictory, but there are many more ways to get hacked, and using CPU exploits is one of the hardest ways to do so. There are plenty of easier ways. And I really don’t want the performance cut.
So, I was going through Windows Security, and disabled a bunch options. I did some experimentation, and messed around with Windows Security long enough, to determine that it was the Exploit Protection that was messing up WSL. But I am not entirely sure.
When they were disabled, it made WSL hang indefinitely. The executable would not work on any parameter passed to it.
There does not seem to be any documentation that I could find regarding this issue. Not on any Microsoft page, and not on their GitHub.
If you encounter the same issue, I hope that finding this blog post has helped you figure out what might have been the cause.