protected override void Update(GameTime gameTime) { while (taskQueue.Count > 0) { Tuple<SendOrPostCallback, object> task; lock (taskQueue) task = taskQueue.Dequeue(); task.Item1(task.Item2); } base.Update(gameTime); }