IDisposable task implementation