Refactored from Task pattern to Parallel.Foreach