Calvin,
You are correct in your assumption about data sessions. Objects encapsulate function and data, as such the object operates in the data session that was active when it was created.
You have a few design issues in your example;
You can pass the customer type as an argument to the method.
Why does the oApp object deal with specifics of another object anyway? Does the oApp object have any business holding a method that strictly deals with a customer? Should that functionality not be incorporated in the customer object or at least the customer form?