There are odd things going on here. If you experiment with varying the value of your n you will see some cases where there is no problem (e.g, n=10, n=20). And I was testing where the problem was arising using
Position[applied, InterpolatingFunction[___]]
In the case n=40 another odd thing happens. The above Position expression indicates that there are no unevaluated InterpolationFunciton expressions being returned, but there are error messages generated of the form
InterpolatingFunction::dmval: "Input value {-2.6933817463773266`, 2.6933817463773266`, 0.5877852522924731`} lies outside the range of data in the interpolating function. Extrapolation will be used."
So, give this value a try using your iFunciton by executing
iFunction[-2.6933817463773266, 2.6933817463773266, 0.5877852522924731]
and indeed the same error is returned (but of course the arguments are inside the range of data in the interpolating function).
Now change the first argument of iFunction to 2.693381746377326 (i.e., drop the final 6 in the number).
iFunction[-2.693381746377326, 2.6933817463773266, 0.5877852522924731]
and it returns a value without generating an error message. Now put that 6 back in and exectute the expression once again.
iFunction[-2.6933817463773266, 2.6933817463773266, 0.5877852522924731]
And no no error message is returned even though this is the same expression that generated an error message two executions previously.
Peculiar....
This all smells bugworthy. Perhaps some internal compiled expression is not being properly generated.