Hello I am making a simple snake game with images using that:

Code:
  private void rendering()        {


            while (true)
            {
            
                if (pbCanvas.InvokeRequired)
                {
                    //pbCanvas.Refresh();
                    pbCanvas.Invoke(new MethodInvoker(delegate { Refresh(); })); //delete the images that where on the canvas(picture box).
                    render(); //render the snake and the food.
                    //tryed without threading but it's the same.
                }
                
            }
               
            
            }
And at start:
Code:
Thread th = new Thread(rendering);
            th.Start();
But the snake always flusing, i mean that he does show up but then he just disappear and show up agian. Dont know how to explain it properly (Same the food).