public partial class Form1 : Form
{
    private List<Image> listImages;
        
    public Form1()
    {
        listImages = new List<Image>();
		
        // Изображения 10x10 пикселей 
        for (int i = 1; i <= 100; i++)
            listImages.Add(Image.FromFile(Environment.CurrentDirectory + @$"\images\cell{i}.png"));
			
        InitializeComponent();
    }
        
    private void Form1_Shown(object sender, EventArgs e)
    {
        List<PictureBox> listCells = new List<PictureBox>();
        for (int i = 1; i <= 100; i++)
        {
            PictureBox pbField = new PictureBox();
            
            pbField.Name = $"pbField{i}";
            pbField.Visible = false;
            pbField.SizeMode = PictureBoxSizeMode.Normal;
            pbField.Image = listImages[i-1];
            pbField.Width = pbField.Image.Width;
            pbField.Height = pbField.Image.Height;               
            pbField.BackColor = Color.Transparent;
            pbField.Cursor = Cursors.Hand;
            pbField.Location = ...; // тут сложная игровая логика позиционирования
            pbField.Parent = this;
				
            listCells.Add(pbField);
        }
						
        // Вариант показа №1 (не одновременный)
        for (int i = 0; i < 100; i++)
            listCells[i].Visible = true;
			
        // Вариант №2 (показывается часть и зависает)
        Parallel.For(0, 100, i =>
        {
            listCells[i].Visible = true;
        });
			
        // Вариант №3 (показывается часть и зависает)
        for (int i = 0; i < 100; i++)
        {
            var task = Task.Factory.StartNew(() =>
            {
                listCells[i].Visible = true;
            });
        }			
			
        // Вариант №4 (не одновременный)
        for (int i = 0; i < 100; i++)
            await ShowCell(i); 
    }
	        
    private async Task ShowCell(int i)
    {
        listCells[i].Visible = true;
    }