Единственный раз, когда это может быть проблемой, это если «вызывающий метод» был точкой входа в приложение (он же Main()
), а сам процесс завершился. В этом сценарии разработайте свой API таким образом, чтобы вы могли выбрать ожидание завершения, если вам нужно - это может быть прямым (наличие объекта возврата, который позволяет ожидать) или косвенным (предоставление обратного вызова, который устанавливает ManualResetEvent
или аналогичный).
По определению, вызов асинхронного метода уже с участием другого потока, поэтому вам не нужно дублировать это (и, действительно, не следует). Вы должны, однако, убедиться, что любой необходимый «Конец *» вызывается - обычно с помощью обратного вызова.