When the last Task has "consumed" its input, then it should overwrite the pointer to it. That way the garbage collector knows that it its not needed anymore and can remove it.
This is just an idea. I'm putting this here so that we don't forget about it. We don't need to do this for v1.0.