You need to distinguish between the object making the call (if any), the target of the call, and the method being called. For instance, your call stack could easily look like this:
FormA.Method3()
FormB.Method2()
FormA.Method1()
This is an instance of FormA executing Method1, calling Method2 on an instance of FormB. That then calls Method3 on an instance of FormA - either the same FormA as the first one, or a different one. It doesn't really matter.
It's not really a case of calling "something below" because the stack frames don't represent objects - they represent methods (and the state within those methods). Does that help at all, or is it just confusing things more?