public void PlayerChooseDeveloper(Communication com) { // set changes 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.DisplayPlayerHireDeveloper(developer, player); }, null); }); }