Stepping into the Go SDK's internals after the program finishes is expected in this case. The debugger continues to operate even after your program's code has completed. We are considering a feature to hide these internal debugger steps from the user if the user requests it, so it appears that the debugger stops cleanly after your program finishes. Here is a feature request tracking this improvement: https://youtrack.jetbrains.com/issue/GO-10534