Por que não consigo depurar código em um método assíncrono?

Na verdade, comecei a noite tentando aprender mais sobre o MongoDB, mas estou desligando e o .NET aguarda / assíncrona. Estou tentando implementar o código mostrado no MongoDBlocal. Eu tive que modificá-lo um pouco, para que eu pudesse compilar meu programa. Eu sei que tenho o seguinte aplicativo de console.

    protected static IMongoClient _client;
    protected static IMongoDatabase _database;

    static void Main(string[] args)
    {
        _client = new MongoClient();
        _database = _client.GetDatabase("test");

        GetDataAsync();
    }

    private static async void GetDataAsync() //method added by me.
    {
        int x = await GetData();
    }

    private static async Task<int> GetData()
    {
        var collection = _database.GetCollection<BsonDocument>("restaurants");
        var filter = new BsonDocument();
        var count = 0;
        Func<int> task = () => count; //added by me.
        var result = new Task<int>(task); //added by me.
        using (var cursor = await collection.FindAsync(filter)) //Debugger immediately exits here, goes back to main() and then terminates. 
        {
            while (await cursor.MoveNextAsync())
            {
                var batch = cursor.Current;
                foreach (var document in batch)
                {
                    // process document
                    count++;
                }
            }
        }

        return count; //added by me
    }

Quando executo o aplicativo, o depurador chama o meu método GetDataAsync () que, por sua vez, chama o método GetData (). Ele chega à linha "using (var cursor = aguarda coleção.FindAsync (filter))" e retorna imediatamente para finalizar o método main ().

Quaisquer pontos de interrupção que eu coloquei abaixo dessa linha serão ignorados, assim como quaisquer pontos de interrupção que eu coloquei no método GetDataAsync (). Esse código não está sendo executado porque o programa é encerrado? Alguém pode me explicar o que está acontecendo?

questionAnswers(1)

yourAnswerToTheQuestion