Да, параметры в вашем массиве объектов будут содержать значения, которые были установлены внутри вызова метода. Следует помнить одну вещь: если arg1, arg2 и arg3 являются типами значений (например, Int32), то действительная переменная arg1 не будет обновлена, поскольку ее значение было скопировано в массив, а не в его ссылку.
Чтобы обойти это, создайте массив объектов перед вызовом функции, а затем извлеките значения из массива. Как это
Dim paramArray = New [Object]() {arg1, arg2, arg3}
method.Invoke(obj, paramArray)
arg1 = paramArray[0]
arg2 = paramArray[1]
arg3 = paramArray[2]