Flow of program not what was expected
<p>Building a simple app here; the methods in question:</p>

<p>static coin class</p>

<pre><code>public static void SetUpCoins() {
        coin1 = new Coin(); 
        coin2 = new Coin();
    }

 public static void PlayConsole() {
        SetUpCoins();
        OutputWinner();            
    }


      public static void OutputWinner() {

        if (coin1.ToString() == "Heads" &amp;&amp; coin2.ToString() == "Heads") {
            Console.WriteLine("You threw Heads - you win");
            ++point_player;
        } else if (coin1.ToString() == "Tails" &amp;&amp; coin2.ToString() == "Tails") {
            Console.WriteLine("You threw Tails - I win");
            ++point_comp;
        } else {
           Console.WriteLine("You threw Odds");
           WaitForKey_ConsoleOnly("Press any key to throw again");
           PlayConsole();
        }

        Console.WriteLine("You have {0} points and the computer has {1} points", point_player, point_comp);

        if (WantToPlayAgain_ConsoleOnly()) { // ask user if they want to play again; return bool
            PlayConsole();
        }
      }

 private static bool WantToPlayAgain_ConsoleOnly() {
            string input;
            bool validInput = false;
            do {
                Console.Write("Play Again? (Y or N): ");
                input = Console.ReadLine().ToUpper();
                validInput = input == "Y" || input == "N";
            } while (!validInput);

            return input == ("Y"); 
        }
</code></pre>

<p>If <code>false</code> was to return from <code>WantToPlayAgain_ConsoleOnly()</code> the program does not exit. Here is an example of the output, which explains my problem:</p>

<p><img src="http://i.stack.imgur.com/XOarT.png" alt="enter image description here"></p>

<p>Why, when <code>WantToPlayAgain_ConsoleOnly</code> is false, does the program not pass control the <code>playConsole</code> method then exit. instead of this repetition. </p>

<p>After <code>OutputWinner</code> is finished running, it then jumps into <code>PlayConsole</code>, and then  back into the else statement of the <code>OutputWinner</code> - not sure why. </p>
