The two line below will raise a IndexOutOfException.
//1200 error
if (fullColumn >= fullImage.Width)
break;
if (fullRow >= fullImage.Height)
break;
It should be like this;
if (fullColumn >= fullImage.Width-smallImage.Width)
break;
your algorithm is very very slow. Every Image has some key point(also corner point), that is, the highest color change ratio point. So you can use same algorithm extract the corner-point-constellation than match the constellation.