Ya lo he encontrado!!!!
Weno por si a alguien le interesa... explico el como hacerlo:
Creamos dentro de nuestra clase una nueva clase con el tipo de control a crear dinámicamente
Public Class myButton
Inherits System.Windows.Forms.Button <-- Tipo de control (en mi caso un boton)
End Class
Creamos un array para llenar de botones
Private Calendarios() As myButton
Dentro del método que deseemos instanciamos nuestra clase previamente dandole una dimension al array
Private Sub MensualesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MensualesToolStripMenuItem.Click
Dim i, a
a = 0
ReDim Calendarios(20)
For i = 0 To 10
Calendarios(i) = New myButton
Calendarios(i).Top = a + 100
Calendarios(i).Left = a + 100
Calendarios(i).Text = "PEPE"
Calendarios(i).Width = 220
Calendarios(i).Height = 220
Me.Controls.Add(Calendarios(i))
a = a + 100
Next
UN POKO CUTRE PERO FUNCIONA
SALUDOS