Jeg plejede at stå over for det samme problem. Hvis den trådede app bruger det samme kontekstobjekt til alle trådene, står vi over for den slags problemer. Opret separate kontekstobjekter for hver tråd. Du tilføjer måske noget mere belastning på din RAM, men det giver klarhed om tilstande af enheder i kontekst.
List<Task> tasks = new List<Task>();
foreach (var item in list)
{
ObjectContext oContext = new ObjectContext("MyConnection");
Task t = Task.Factory.StartNew(() =>
{
this.Update(item,oContext);
});
tasks.Add(t);
}
Task.WaitAll(tasks.ToArray());