Labels and GOTOs are considered bad practice and as far as I know there is no reason to use it in C#.
What is the use of labels in C#?
Labels without goto are useless, they do nothing.
Using goto is considered a bad practice. But there is a case where it can't be avoided: breaking out of nested loops:
foreach(...) {
foreach(...) {
if(...) {
goto OuterLabel;
}
}
}
OuterLabel:
In such a case using the break statement would just break the most inner loop.