Are there examples of recursion using only heap area?
In C, function call-based recursion always uses the stack, almost by definition.
If you are willing to convert your recursion to iteration, then it is possible to use only heap space, but that isn't really recursion. You would do so by implementing a stack in the heap.
Certain problems can use tail recursion, which repeatedly overwrites the same area of the stack.