Figurati
comunque come preferisci però sarebbe stato sufficiente fare una cosa del genere:

codice:
new Thread(()=>{
   for (int i = 0; i < t; i++)
   {
      //...
      //(calcolo le coordinate del pixel P e Q)
               
      if (P > 0 & P < pictureBox1.Width & Q > 0 & Q < pictureBox1.Height)
         bit.SetPixel(P, Q, Color.DarkRed);
      //aggiorno di nuovo la pictureBox ad ogni pixel tracciato
      pictureBox1.Image = bit;
   }
}).Start();
ma come si dice : gusti e colori non si discutono!