The TaskList property is a zero-based array that returns an
ID associated with an active background task. The current number of
active tasks can be determined using the TaskCount property. If
the index value specified for this property array exceeds the number
of active tasks, an exception will be thrown.
As background tasks complete and additional tasks are started, the
values returned by this property array will change. The application
should never make an assumption about the actual task ID values
returned or the order they are returned. While task IDs are assigned
sequentially, they should be considered opaque values that are unique
to the process. When a background task completes, its corresponding
task ID is removed from the list of active tasks and this can
potentially change the task ID values associated with each index into
the property array.