ArgIterator is a special type. It contains a pointer to the stack, so it isn't allowed to escape the current method. Otherwise, you'd have a pointer pointing into the middle of nowhere.
OK, I understand now, but where did you find out about this? There was nothing in the .NET Framework documentation :( (Or I was unable to find it ;(
Thanks !
Regards, Bogdan