Grainy image in my simple ray tracer The wall on the left of the red ball is perfectly reflective wall. 

In the first image there's a point light that lies on the plane of the reflective wall and in the second image, it's 0.01 units ahead of it. Due to the light being on the reflective wall, I think, I am getting black dots all over my image. 

I would like to know why putting a light on the same plane as the wall causes black dots ?
It's likely due to shadow rays. When the light source is exactly on the plane of the wall, a shadow ray traced to it may or may not be found to intersect the wall before it reaches the light. The result will depend on arithmetic roundoff error, and may appear as random noise, or stripes or some other artifact.

To fix it, you can either keep the light offset slightly from the plane, or set up the wall object not to cast shadows (assuming it doesn't need to in the scene).