c# return multiple values from async method