That anonymous function is a literal, just like the number 50 (the next argument after it). In the same way the 50 doesn't get created each iteration, neither does the anonymous function.
So you're going to see an increase in memory with each function call until the garbage collector kicks in.
So while the function definition is a literal, the execution most definitely has a cost associated with it.