To understand this behaviour I have written a small piece of code containing a caller function with an out argument and a callee function with an out parameter.