macOS freezes every few days
Troubleshooting is a process of elimination and often requires patience, but since it seems you don't have a way to bring on a freeze - and because of the time in between incidents of this happening -  it's going to be somewhat slower to diagnose.

While I understand your instinct that it could be a bug with WindowServer, it's actually much more likely to be an issue with how well one of your installed apps is communicating with WindowServer. I'm not familiar with all of the apps you have installed, but if you have anything that hasn't been updated in a long time it may be worth isolating that for a while (i.e. not using it) to see if that makes a difference.

One thing worth doing regardless is to boot your iMac into Safe Mode.

Boot into Safe Mode

Follow these steps to boot your iMac into Safe Mode:


Fully shut down your iMac
Restart your iMac
Immediately press the Shift key and keep it down 
Let go of the Shift key when you see the login window (NOTE: If you have FileVault enabled you may need to log in twice).
Now use your iMac in Safe Mode until it crashes again or until you're satisfied it's not going to crash (i.e. you may be at this step for some days). Of course, some things don't work in Safe Mode, so you may need to exit Safe Mode earlier and boot normally anyway.
Exit Safe Mode by restarting your iMac as normal
Once again, test to see if your iMac still crashes


Let me know how you go, although it may take you quite some time to know if doing this has helped. 

NOTE: Even just booting into Safe Mode temporarily can be enough to resolve some issues, so it's still worth doing even if you can't stay in Safe Mode for too long.