Xamarin.Forms MQTTnet - ApplicationMessageReceived async event causes app to crash

I am working on an MQTTnet application for mobile/wearable devices. I've tested my code in both a standard C# WPF application and .Net Core application, both work as expected. The issue I am having is when I port the code to Xamarin Forms, for running on a Galaxy Watch. The app will run for a few seconds, but then it will crash. I believe it could be from the event firing too often, if that makes sense?

I have an MQTT publisher device pumping out a simple position value at a 10ms interval. Where my other apps will just keep chugging along, the app in Xamarin will lock and then eventually crash.

Here is my Xamarin code, is there a better way to handle this?

I can make it work by only publishing/receiving a message every 1 second, but this isn't ideal for position data presentation on the UI. I did manage to get it to work with 200ms interval, but anything past that it'll lock. Is there a way to ignore the event from firing too often in Xamarin, or prevent it from locking the app?

        public App()
        {
           Task.Run(RunAsync)
        }

`

        public static async Task RunAsync()
        {

            var factory = new MqttFactory();
            var client = factory.CreateMqttClient();

            var clientOptions = new MqttClientOptions
            {
                ChannelOptions = new MqttClientTcpOptions
                {
                    Server = MQTTBroker
                }
            };


            client.ApplicationMessageReceived += (s, e) =>
            {
                PayloadLabel.Text = Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
            };


            client.Connected += async (s, e) =>
            {
               await client.SubscribeAsync(new TopicFilterBuilder().WithTopic(MQTTSubTopic).Build());

            };

            // Attempt a connection to the broker
            try
            {
                await client.ConnectAsync(clientOptions);
            }
            catch (Exception exception)
            {
                PayloadLabel.Text = "Failed to connect..."
            }
        }
    }