Thanks about the tip about the call-stack that one helped with some other things that I had read.
Turned out I didn't properly initialize every instance of grass.
grass = new Animation[Width, Height];
Vector2 position = Vector2.Zero;
for (int i = 0; i < Width; i++)
for (int j = 0; j< Height; j++)
//grass[i,j] = new Animation();
position.X = i * TileWidth;
position.Y = j * TileHeight;
Adding the commented line (uncommented) solved everything. I will keep in mind to make my own little bugs once in a while