Ref - Parameters - Stack or Heap
The parameter that is passed is an address to some object. That reference is passed on the stack, along with all other parameters to the method.
The actual object itself lives wherever it lived before you called the method. That could be in the stack, it could be in the heap, it doesn't matter. The act of passing an object by reference does not result in it being moved in memory, from say the stack to the heap, or from the heap to the stack.