Reboot is the only solution that worked for me (so far).
The ever excellent Mark Russonovich has a good explanation for unkillable processes.
To summarise, it's quite possible it is due to unprocessed I/O requests that hasn't been handled properly (by a device driver your program has possibly accessed)
https://techcommunity.microsoft.com/t5/windows-blog-archive/unkillable-processes/ba-p/723389