"Incorrect Approach to Parallelizing Nested Loops"

private static void Example() {
	var dataArray = new SomeDataType[400000];
	FillRawData(dataArray);
	
	var processorAlgorithms = GetProcessorAlgorithms();
	
	for (int i = 0; i < 400000; ++i) {
		Parallel.For(0, processorAlgorithms.Count, a => {
			dataArray[i].Process(processorAlgorithms[a]);
		});
	}
}


Code snippet taken from "Common Multithreading Mistakes in C# - IV: Everything Else".