Although this is very old thread but sharing my experience might help future visitors.
The code @Er. Dinesh Sharma has shared will going to work fine. The only thing you need to make sure that the code that loads the images in the DataGridView Cell runs AFTER the form loads.
[I found the solution here.]
1: Load data in DataGridView on Form Load
private void Form1_Load(object sender, EventArgs e)
{
}
2: Use Form.Shown Event to run code that loads images.
[Microsoft Documentation]
private void Form1_Shown(Object sender, EventArgs e) {
}