Ti posso aiutare ma solo a metà io uso VB.NET per cui mi riesce un pò lungo tradurre il tutto. Buttangio quattro righe di codice in VB.NET si protrebbe fare cosi:

La tua classe Miaclasse diventa:

codice:
Public Class Miaclasse
    Private vettore As Double
    Shared count As Integer
    Shared id As Integer
    Shared Event Done(ByVal valori As List(Of Double))
    Shared Valori As New List(Of Double)()


    Sub New(ByVal vettore As Double)
        Me.vettore = vettore
        id += 1
    End Sub

    Public Sub Miometodo()
        Dim count As Integer
        For n As Integer = 0 To Me.vettore
            count += 1
        Next
        Valori.Add(count)
        id -= 1
        If id = 0 Then RaiseEvent Done(Valori)
    End Sub

End Class
La tua Form diventa:

codice:
Public Class Form1
    Dim task() As System.Threading.Thread
    Dim WithEvents IstanzaMiaclasse As Miaclasse
    Dim ValoriRisultato As New List(Of Double)()

    Sub Test()
        Dim vettori As New List(Of Double)()
        vettori.Add(45)
        vettori.Add(35)
        vettori.Add(15)
        vettori.Add(25)
        vettori.Add(75)


        ReDim task(vettori.Count - 1)
        For i As Integer = 0 To vettori.Count - 1
            IstanzaMiaclasse = New Miaclasse(vettori(i))
            task(i) = New System.Threading.Thread(AddressOf IstanzaMiaclasse.Miometodo)
        Next

        For t As Integer = 0 To task.Count - 1
            task(t).Start()
        Next
    End Sub


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Test()
    End Sub

    Private Sub IstanzaMiaclasse_Done(ByVal valori As System.Collections.Generic.List(Of Double)) Handles IstanzaMiaclasse.Done
        For Each valore As Double In valori
            ValoriRisultato.Add(valore)
        Next
    End Sub
End Class
Non garantisco niente perchè scritto su due piedi, a me comunque funziona.
Se ti può aiutare bene altrimenti lascio a che svilupa in c#.
ciao