no more silly deadlock; proper task cleanup