what i don't understand is why aros, os4 and mos users can't properly kill tasks and free their resources.
I believe the problem here is that ressources aren´t limited to the task claiming them. It is perfectly legal to have one task claiming e.g. RAM giving the pointer to another task, waiting for the task to finish and then releasing the memory. Or the second task may release the memory for the first one.
In fact there is a garbage collector for Amiga Oberon that does just that: tracking the memory of Oberon-programms and releasing it, when there is no reference left. Of course it will also free them if the task is killed. But that is because every allocation or copying of a pointer is tracked by a special library.
There is some beauty in both concepts.