I'm using zkemkeeper SDK to handle Attendance Machine and it is working fine but when I connect, it hangs form UI, so I started using Async Task to avoid this issue but it didn't work and here is my code:
public async Task<bool> Connect()
{
    await Task.Delay(5000);
    await Task.Run(() => ZkemClientObj.Connect_Net(ip, port));
}
in task delay UI was not blocked but when I start Connect_Net it blocks UI. I tried a lot of things and it works fine but only with this snippet.
Update
This is connection button event method:
CZKEM ZkemClientObj = new CZKEM();
private async void MachineConnectionAction(object sender, EventArgs e)
{
    var isConnected = await Connect();
    if (isConnected) 
    {
        UpdateConnectionStatus();
    } 
    else 
    {
        ShowErrorMessage();
    }
}
public async Task<bool> Connect()
{
     string ip = MachineIPAddress.Text.Trim();
     int port = int.Parse(MachinePort.Text.Trim());
     return await Task.Run(() => ZkemClientObj.Connect_Net(ip, port));
}
 
                        
Try this https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.taskfactory.startnew?view=netframework-4.8