Well, I wrote a skeleton server project that uses async-await patterns, if you wanted to take a look. There's also an article I wrote about multi-threaded game server design on that same page. You can check it out here:

.
Generally, yeah. The tldr is: there would be problem and it does add complexity, but you could get better performance if done correctly. The async-await pattern I referenced is difficult to understand in C#, but it's getting more and more common. And then there're some async classes in C# you can use in synchronous code, but it's pretty inconsistent.