If you have same batch_size it should be similar (slightly lower) than without it.
Given the place of the .data in the code above, could you check if MC_valid has requires_grad=True in both cases? is it possible that something else set the requires_grad state?