No. (The point has been made that in this case it's a de-compiler artefact, mind.)
The only exception is CASE GOTO which allows you to share code between switch cases. This isn't really a GOTO though, it just happens to share the same name.
The issue with the GOTO statement is not ideological like many suggest, it's that there are always better, clearer, more maintainable alternatives in modern high level languages, and using a GOTO always adds complexity, which isn't justified by saving a minute or so coding it properly. It's worth taking the time to use one of those instead, even if it means you have to meet the criteria to exit a number of nested loops or conditions.
Block constructs like WHILE and DO-UNTIL and FOR do looping much better and in a standard form that is inherently obvious to someone maintaining the code, and you can't fall out of the block or forget to terminate it in some code paths. They are inherently better code for that reason. That's why they were invented and widely adopted. You can, of course achieve the same loop thing with a GOTO, but you can also make a mistake somewhere within it (especially if you GOTO a place outside of the loop). These dedicated statements are also optimised for that purpose so they probably save the return address in an more efficient manner than a GOTO finds it's target.
Similarly conditional blocks of code, negate the need to jump over multiple lines that don't apply in a given circumstances (yup, in early languages, a condition could only be applied to a single line of code), and a conditional block is easier to see as an atomic section of code, and the condition is quite clearly specified at the top of the block. If you are using GOTOs there could be several places you jump over it and the code flow has to be carefully and faultlessly worked out each time the code is visited, which is very time consuming and prone to errors and misunderstanding. I used to print out programs and use a highlighter pen to mark up the flow. You don't have to with modern constructs.
Better still, modern best practice would be to encapsulate that conditional functionality into a function with a self explanatory name, so instead of having to read through it to see what it is doing or skip over it, if it's not relevant, you just see a nice little function name that tells you what it does (which of course you can look at in isolation if you need to, and which can use local variables if it needs working variables, that definitely can't interfere with other code elsewhere).
Another issue is stack state. I don't know that .net doesn't check if you are jumping out of a function, or loop, or other block, but traditionally GOTO doesn't do any such checks, which means that any state or local information like local variables, or return addresses stored on the stack, are left on the stack, and when you end up entering that construct again, new copies get added, until eventually the stack overflows. It's the oldest bug in the book; it's even inspired a well known technical Q&A site name.
I used to use GOTO extensively in languages without any alternative 35 years ago, and indeed on retro computers in more recent years (because they still don't have alternatives), but in modern languages, I've not had to since about 1990. I didn't even know it existed in C# until I googled it a month ago following a similar discussion elsewhere.
You might also see people say it's equivalent to a machine code jump. It isn't at all. It very much depends on the language implementation but it has to find the exact memory address to go to, and that can involve a brute force search of the source code (normal in interpreters, where you are most likely to use a GOTO), a vector table lookup (more likely with C# or compiled languages), or some such. It doesn't really matter but it's unlikely to be the equivalent of just loading a hardcoded address into the CPU Program Counter, and even if it is when you write it, it might not be when it's running in an emulated implementation in the future. Dedicated loop constructs are probably more optimised and therefore faster.