Solved by tom in post #2 
              
              
                The inner workings of apply check whether an argument is a Tensor (using THPVariable_Check) and needs grad. 
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