The task gets a pointer to the array objects, not a copy. So when you clear the array, the pointer leads to an empty array. You can pass a clone of the array, that will work:
runningTasks.Add(Task.Run(() => ProcessTagsValidationInsertion(tvlFileTracker, tempRemainderTags.Clone)));