Is function application actually a memory manipulation algorithm?
That seems reasonable to me, although I've never thought of other that way.  The critical point is that LC essentially involves variables and substitution.  So I wouldn't say it "hides" memory ops, exactly, that's just how LC substitution translates to Turing machinery.  On the other hand, substitution is not primitive - combinatory logic eliminates both variables and substitution.  So you might say LC introduces rather than hides something.