The different sizes are created by the unnecessary "GraphicsGrid" that scales the different pictures. Without it:
SimplifyShape := Rectangle[{0, 0}, {1, 1}, RoundingRadius -> 0.1]
exp1 = Table[{EdgeForm[Black], Hue[Sqrt[x]],
Translate[Rotate[SimplifyShape, x], {x*1.5, 0}]}, {x, 0, 10, 1}];
exp1 // Graphics
Update
If you want an "regular array", that is a vector, of images the same size, use RotateImage:
exp1 = Table[
ImageRotate[
Graphics[{EdgeForm[Black], Hue[Sqrt[x]], SimplifyShape}], x,
Background -> Transparent], {x, 0, 10, 1}];
exp1