RogueLike tutorial GameManager question

On line 25 in the GameManager script, the singleton is enforced by calling Destroy(gameObject) when instance != this

My question is, won’t the code after Destroy (lines 31-37) still get executed on that condition and be a waste? Initially I thought Destroy might break execution, but I added a Debug.Log after it which got executed. Am I missing something?

I hope this helps, I added some comments. Good luck :slight_smile:

        void Awake()
        {
            if (instance == null)
            {
                instance = this;
            }
            else if (instance != this)
            {   
                /* 
                    Notice how it's the only line encapsulated?
                    This means it's the only thing that runs.
                    Curly braces make code more readable :)

                    Side Note:
                     Once an object is destroyed, it is removed from the scene.
                     It's like breaking from a loop, or returning from a function. 
                     All logic stops. In this case, it no longer exists.
                */

                Destroy(gameObject);    
            }
            
            DontDestroyOnLoad(gameObject);
            
            boardScript = GetComponent<BoardManager>();
            
            InitGame();
        }