Mi era già "salita la carogna" cercando di capire come far funzionare la classe quando mentre cercavo sulla casella degli strumenti ho visto PerformanceCounter .
L' ho aggiunto alla form, smanettato sulle proprietà, qualche 'console.writeline' per vedere le proprietà...:
codice:
Imports System.Diagnostics

Public Class Form1

    Dim PC_cpuTot As New PerformanceCounter
    Dim PC_cpu0 As New PerformanceCounter
    Dim PC_cpu1 As New PerformanceCounter

    Private Sub Form1_Load() Handles MyBase.Load

        Me.TopMost = True

        With PC_cpuTot
            .CategoryName = "processore"
            .CounterName = "% tempo processore"
            .InstanceName = "_total"
        End With

        With PC_cpu0
            .CategoryName = "processore"
            .CounterName = "% tempo processore"
            .InstanceName = "0"
        End With

        With PC_cpu1
            .CategoryName = "processore"
            .CounterName = "% tempo processore"
            .InstanceName = "1"
        End With

    End Sub

    Private Sub Button1_Click() Handles Button1.Click
        Timer1.Interval = 1000
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick() Handles Timer1.Tick
        Label1.Text = "Totale:  " & System.Math.Round(PC_cpuTot.NextValue, 0) & "%"
        Label2.Text = "CPU0:  " & System.Math.Round(PC_cpu0.NextValue, 0) & "%"
        Label3.Text = "CPU1:  " & System.Math.Round(PC_cpu1.NextValue, 0) & "%"
    End Sub

End Class
Con 'InstanceName' si imposta la cpu, avendo un dualcore:

_total = totale
0 = cpu1
1 = cpu2

il resto del codice penso sia banale...
I PerformanceCounter li ho aggiunti e impostati via codice giusto come esempio, se provi ad usare direttamente il controllo aggiungendolo dalla casella degli strumenti ti basta fare clic sulle proprietà e trovi "tanta roba" già pronta...
ciao