As the MS PowerShell Team explained in the article How to pass arguments for remote commands, if you are invoking remote commands (invoke-command cmdlet) or starting a background job (start-job cmdlet) you want probably to use local values as arguments.
To manage this, both cmdlets have the option –argumentlist which is permitting to precise an array of arguments to be accessed inside your scriptblock using $args variable.
$args is a variable created automatically by PowerShell which handles any parameters passed as arguments with the option –Argumentlist.
Since the variable $args is an array, you will have issues to pass an array as an argument. Basically, It treats each element of your array as a specific argument.
If you want to pass your complete array as a specific argument, you will need to use the syntax (,$MyArray) for –Argumentlist parameter.