asyncの微妙な引っかかりどころ


皆さんは既に元気にasync/awaitを使いこなされているかとは思いますが、個人的に引っかかったところを備忘録にしておこうと思います。
なお推論コミです。

まずはコードから。

async.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            //Main内でasyncする場合はTaskを用意して走らせる必要がある。
            var task = Task.Run(async () =>
            {
                //1.ここでawaitすると同期処理に
                var alpha = GetsSum(5);
                var bravo = GetsSum(7);
                //2.ここでawaitすると非同期処理に
                int a = await alpha;
                int b = await bravo;

                Console.WriteLine($"{a}+{b}={a + b}");
            });

            Console.ReadLine();
        }

        //一定時間ごとに値を加算、コンソールに出力する。
        static async Task<int> GetsSum(int interval)
        {
            Console.WriteLine($"task start interval {interval}");
            var intTask = Task<int>.Run(() =>
            {
                var sum = 0;

                for (int i = 0; i < 1000/interval; i++)
                {
                    sum += i;
                    Console.WriteLine($"interval {interval}'s sum : {sum}");
                    Thread.Sleep(interval);
                }

                return sum;
            });

            return await intTask;
        }
    }
}

単純に加算していくプログラムですが、awaitをかける部分を間違えると同期処理になってしまいます。
1.の部分でかけると同期処理に。2.の部分でかければ非同期処理になりました。
宣言時にawaitをかけると引っかかるのかなーと思った次第でした