void PlayerFireDeveloper(Communication com) { Company player = game.Companies.FirstOrDefault(c => c.CompanyId == com.PlayerId); Developer developer = game.Developers.FirstOrDefault(d => d.DeveloperId == com.DeveloperId); UpdateGameDatas(com); // call ui ThreadPool.QueueUserWorkItem(delegate { Context.Post(delegate { GSI.DisplayPlayerFireDeveloper(developer, player); }, null); }); }