I have the following code:

<C#>


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Graph;
using Outlook = Microsoft.Office.Interop.Outlook;
using Microsoft.Graph.Models;
using Azure.Identity;
using System.Security.Policy;
using Microsoft.Office.Tools;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
using System.Globalization;

namespace Outage_Helper
{
    public partial class OutageCalendarPane : UserControl
    {
        private const string ClientId = "XXXX";
        private const string TenantId = "XXXX";
        private const string UtilityAccountUsername = "outage-helper@ct4.com";
        private const string UtilityAccountPassword = "XXXX";
private GraphServiceClient _graphClient;
        private Outlook.MailItem _selectedMailItem;

        public OutageCalendarPane(Outlook.MailItem selectedMailItem)
        {
            InitializeComponent();
            _selectedMailItem = selectedMailItem;
            emailContentTextBox.Text = selectedMailItem.Body;
            AuthenticateAndInitializeGraphClient().ConfigureAwait(false);
        }

        private async Task AuthenticateAndInitializeGraphClient()
        {
            var credential = new ClientSecretCredential(TenantId, ClientId, UtilityAccountPassword);
            _graphClient = new GraphServiceClient(credential);
        }



        private async void submitBtn_Click(object sender, EventArgs e)
        {
            if (_graphClient != null)
            {
                string calendarId = "XXXX";
                var newEvent = new Event
                {
                    Subject = eventNameTextBox.Text,
                    Start = new DateTimeTimeZone { DateTime = startDateTimePicker.Value.ToString("o"), TimeZone = "UTC" },
                    End = new DateTimeTimeZone { DateTime = endDateTimePicker.Value.ToString("o"), TimeZone = "UTC" },
                    Body = new ItemBody
                    {
                        ContentType = BodyType.Text,
                        Content = $"Username: { _selectedMailItem.Sender.Name}\nNote: { eventNoteTextBox.Text}\n\nEmail Text: { emailContentTextBox.Text}"
}
        };

        await _graphClient.Users[UtilityAccountUsername].Calendars[calendarId].Events.PostAsync(newEvent).ConfigureAwait(false);
        MessageBox.Show("Outage event has been added to the shared calendar.");
((Form)this.TopLevelControl).Close();
}
else
{
MessageBox.Show("Error: Unable to add the outage event. Please try again.");
    }
}

private void cancelBtn_Click(object sender, EventArgs e)
{
    ((Form)this.TopLevelControl).Close();
}
}
}


</C#>

When I run this code, the block:

<C#>


        private async Task AuthenticateAndInitializeGraphClient()
        {
            var credential = new ClientSecretCredential(TenantId, ClientId, UtilityAccountPassword);
            _graphClient = new GraphServiceClient(credential);
        }


</C#>

does not function as expected. The _graphClient variable is null. Please help me investigate why this is happening.