dylanjosh, set all the destination pixels, but choose the pixel color based of its position. I'm not certain what you intend to do, but for the sake of demonstration, I'll make a white background with black lines in each direction spaced 50 apart (49 pixels in between). If I wanted the grid superimposed on the original image, instead of CurrentPixel = ColorBgra.White, I'd use CurrentPixel = src[x, y].
Each call to the render code isn't writing the whole destination window at one time; it's writing a portion, referred to as a Rectangle of Interest. Notice the loop bounds for y aren't 0 to dst.Height, they're rect.Top to rect.Bottom. So you can't step by 50, since the starting point can be anywhere within the destination window.
Read BoltBait's CodeLab help pages carefully. They describe most everything you'll need to know to write CodeLab plugins.
I'll also mention that, ignoring the other problems, what you're doing would only put pixel dots every 50 pixels rather than pixel lines. Assuming you want lines, every y row of pixels contains some grid pixels, so you can't skip over 50 y rows. (To change my code to draw dots instead of lines, replace the || OR with && AND.)
(If I were actually writing code to do this, I might do it slightly differently, but this version is straightforward.)
ColorBgra CurrentPixel;
for (int y = rect.Top; y < rect.Bottom; y++)
{
if (IsCancelRequested) return;
for (int x = rect.Left; x < rect.Right; x++)
{
// See if it's a grid pixel.
if ((x % 50 == 0) || (y % 50 == 0))
CurrentPixel = ColorBgra.Black; // Grid pixel.
else
CurrentPixel = ColorBgra.White; // Not a grid pixel.
dst[x, y] = CurrentPixel;
}
}