Sometimes I create memory leaks or use too many electron apps and when you hit a low memory situation Linux starts trashing and your system becomes unusable for minutes to hours unless you reboot your machine.
Mac and windows both manage to handle this gracefully by force suspending background processes it seems.
This makes Linux on the laptop hit or miss, multitask too much and your system effectively locks up. Laptops tend to have less ram available.
You mean intensive use of swap memory? You could turn off swap and get OOM errors instead if you like a snappy system, but I don't know if it's fair to criticize an OS for running out of memory. It's the user fault for using software that demands more resources than the equipment has, or for not expanding the RAM when it's clearly needed.
Every Linux system configured for overcommit (every major distribution out of the box) will invoke the kernel OOM killer upon demand. There is no such thing as distributions not "enabling" this thing. You're talking about things like systemd-oomd, which act as a layer on top of the kernel OOM killer.
In my case, I was doing development/testing of a data analysis code. Pulling in the data was fine, I just needed to adjust my applications queries to reduce the size of this. I was specifically looking to see what I could get away with in terms of analysis size without adding additional code to handle out-of-core.
MacOS did not respond gracefully to the load. It took it a whole 20 minutes to crash, hard-locking the UI, and eventually rebooting.
My previous experience with a windows laptop (until I traded it in for the mac about 10 months ago), was even worse. I could not use WSL2 for anything approaching real memory utilization, as I'd get all these memory compaction pauses/GCs. These random freezes would often hang the machine for a while, and when it resumed, the interface was very laggy.
Compared to that, my linux experience for systems under horrific load is much better than windows, and on par with MacOS (M1 32GB laptop BTW, not a small system).
Even if I disable swap, when Linux gets very low on memory you get the exact same symptoms when it starts discarding increasingly-active program code.
It's not the users fault. Every other major OS handles this situation.