UUserWidget derived class shows two different values for the same variable during NativeTick

UUserWidget derived class showing two different values for the same variable during NativeTick call.

I am working to override native input handling for a game. I have derived a UUserWidget class and overriden most of the Native**** methods to capture mouse input. Everything works fine except I seem to have a multithreading issue effecting the classes private variables.

void USW_GameHUDWidget::NativeTick(const FGeometry& InGeometry, float DeltaTime)
{
	Super::NativeTick(InGeometry, DeltaTime);

	DisplayMessage(INDEX_NONE, 0.1f, FColor::Red, bCursorBeingTracked, FString("NativeTick::bCursorBeingTracked"));
}

void USW_GameHUDWidget::NativeOnMouseEnter(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent)
{
	Super::NativeOnMouseEnter(InGeometry, InMouseEvent);

	bCursorBeingTracked = true;

	//Enforce keyboard focus if moving inside the viewable area
	SetKeyboardFocus();
}

void USW_GameHUDWidget::NativeOnMouseLeave(const FPointerEvent& InMouseEvent)
{
	Super::NativeOnMouseLeave(InMouseEvent);

	bCursorBeingTracked = false;
}


The variable bCursorBEingTracked is non-UPROPERTY privately declared member variable to the USW_GameHUDWidget class.

When the game is ran the NativeTick method displays the following screenshot. It appears to be switching the value for bCursorBeingTracked back and forth between true and false each time it is called.

I have tracked the variable repeatedly and no other code effects this variable. I keep returning to the idea that this is a multithread synchronization issue of some kind. Any ideas on how to enforce the correct value is synched across the threads? Do I need to use a FScopedLock to ensure the variable is not being modified by different thread?