Task chaining now executes with an extra Fork which is slightly slower but allows previous Task garbage collection and cancel() on chained Tasks to behave more normally