Para crear PictureBox en tiempo de ejecución lo único que se me ocurre es que crees una matriz de controles Picture. Es decir, crea un control picture colócale la propiedad Index = 0 y la propiedad Visible = False para que tan pronto se ejecute el programa no aparezca en la pantalla. Luego, cada vez que necesites un nuevo control Picture en tiempo de ejecución, colocas por ejemplo en un Command Button lo siguiente:
Load Picture1(1)
Load Picture1(2)
Load Picture1(3)
Load Picture1(n)
.
.
.
Donde n es el índice del nuevo control. No se puede crear un control que ya está creado, es decir, no puedes repetir el índice de este control.
Esto debes hacerlo tantas veces como controles necesites. No olvides que cada vez que crees un nuevo control debes colocar su propiedad Visible = True para que este se muestre.
Al finalizar debes descargar cada uno de los controles nuevos por ejemplo a través de un For así:
Supongamos que creaste 5 nuevos controles:
Código:
For X = 0 To 5
Unload Picture1(X)
Next
Espero te sirva mi respuesta.