What is the design smell, poor practice in recursion ? once I saw resharper suggesting improvements I quickly looked around on google. Saw numerous comments around re-factor
Because people mistakenly care more about micro-optimizations than clear and readable code.
The recursion makes additional (recursive) function call, which also means a stack allocation, for every level (every object you handle).
Generally the iteration is better because it doesn't make that additional call/allocation.
Of course, the difference would be visible in case there are many objects to handle, which I suppose is not the case in your example. So for you it's not an issue and I guess the intention is to teach you a better practice in general.