С пикчей из ОП поста так ничего и не получилось, однако после многих переделок отдельные пиксели рисует там где нужно.
public Bitmap Create()
{
int width = 40;
int height = 40;
Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);
BitmapData bmData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat);
int stride = bmData.Stride;
byte[] array = new byte[stride * height];
int index = 0;
for (int y = height-1; y >=0; y--)
{