Coming from C++, returning a local variable was a bad idea (when allocated memory on the stack).
Now using C# I'm getting the impression it isn't a bad idea (when returning a value, not a reference).
Why is that? I understand C# uses the GC but I'm not sure what difference that would make in this case.