Anda hanya memparalelkan enumerasi assertQueue sendiri dan kemudian "tidak paralel" kembali menjadi IEnumerable biasa . Ini semua terjadi sebelum foreach lingkaran bahkan dimulai. Kemudian Anda menggunakan IEnumerable biasa dengan foreach yang menjalankan body loop secara serial.
Ada banyak cara untuk menjalankan body loop secara paralel tetapi yang pertama muncul di pikiran adalah menggunakan Parallel.ForEach :
Parallel.ForEach(arrestQueue, arrest =>
{
Geocoder geocodeThis = new Geocoder(arrest);
writeQueue.Enqueue(geocodeThis.Geocode());
Console.Out.WriteLine("Enqueued " + ++k);
});