It'd be better to use async connection methods instead of Task.Run