If you had plain nested loops in your code both loop variables would be locals in the same method body. This doesn't work and will result in a CS0136 compiler error.
However in your case you have a foreach loop and a second one which is in a closure. This means that the someItem variable of the outer loop is compiled into a closure field while the inner someItem loop-variable is compiled into a local variable. Since they are different kinds of symbols there is no conflict.