When is a null not a null?
No, GetAllRecipes() is not doing anything weird with references or changing the values of currentUserId.
No, stupid debugger tricks were not used to move execution around.
Sometimes life is just inexplicable. Especially when you are a few hours out from a live demo.