Found a working solution for now.
int bestColumn = (int)Math.Ceiling(Math.Sqrt(Images.Count)) * 2;
int column = bestColumn / 2;
for (int i =0; i< column; i++)
{
for (int j = 0; j < column; j++)
{
if(j * column + i >= 0 && j * column + i < Images.Count)
{