I have seen a similar thing and had no success with various combinations of Suspend/Resume/PerformLayout. Finally I found that adding the pictureboxes to a hidden panel was effective and have had no problems since. I can't offer any explanation for the success of this method so present it as something to try.
private void ShowAlbum(Image[] thumbnails) {
List<PictureBox> pictureBoxList = new List<PictureBox>();
foreach (Image img in thumbnails) {
PictureBox box = new PictureBox();
box.Image = img;
pictureBoxList.Add(box);
}
flowPanel.Hide();
flowPanel.Controls.AddRange(pictureBoxList.ToArray());
flowPanel.Show();
}
Alan.