Removing the task from exec's task list is about the only thing you can do in those cases. The problem is that doing so doesn't really free up all of the resources the task was using.
How come they didn't implement resource tracking in AmigaOS 3 or even in MOS and OS4? It doesn't seem too complicated, does it? Perhaps it would introduce backwards compatibility or performance issues and such?