Find lowest leaf nodes in a binary tree
Passing an int with the ref keyword does not involve any boxing at all. Do not confuse this with "passing an int by reference" (as in, a function with return type Object returning an int,) which is quite a different thing, and it does involve boxing. 

Your code seems quite efficient to me, I have nothing to comment on.