The inner workings of apply check whether an argument is a Tensor (using THPVariable_Check) and needs grad 3.
The list passed in the first version isn’t a Tensor.
The second version unpacks the list and passes Tensors as arguments.
Best regards
Thomas