La ejecución del comando de comando procesa asnyc y obtiene el resultado

Necesito ejecutar el proceso de comando asincrónico y obtener el resultado de la ejecución. Actualmente tengo este código

Public Function ExecuteCommandSync(ByVal command As Object) As String
    Dim result As String = Nothing
    Try
        Dim procStartInfo As New System.Diagnostics.ProcessStartInfo("cmd", "/c " & Convert.ToString(command))
        procStartInfo.RedirectStandardOutput = True
        procStartInfo.UseShellExecute = False
        procStartInfo.CreateNoWindow = True
        Dim proc As New System.Diagnostics.Process()
        proc.StartInfo = procStartInfo
        proc.Start()
        result = proc.StandardOutput.ReadToEnd()
        Console.WriteLine(result)
    Catch objException As Exception
    End Try
    Return result
End Function

Por favor, ayúdame a convertir esto a asíncrono sin usar un hilo. ¿Es esto posible?

Gracia

Respuestas a la pregunta(1)

Su respuesta a la pregunta