У меня недостаточно репутации, чтобы комментировать, поэтому я просто отвечу.
Если ваши требования к воспроизведению звука «обманчиво просты» (вы просто хотите воспроизвести случайный звук, когда один пользователь winform что-то делает), тогда я использовал бы попытку № 4 выше.
Ларри Остерман "Что не так с этой частью кода 26" заставляет свою "систему" вращать новый поток пула потоков (для воспроизведения звука) при каждом нажатии клавиши. Он указывает, что чем больше он забил, тем больше размер пула 500 потоков по умолчанию примерно за 15 секунд ввода, но это было также в приложении клиент / сервер, использующем асинхронный RPC, который также использовал пул потоков. Действительно не «обманчиво простое» приложение.
Если вы пытаетесь поставить в очередь звуковые байты каждую секунду (или быстрее) на 10 или 100 секунд за один раз, тогда это действительно не «простое приложение», и подсистема потоков / приоритетов в очереди, вероятно, будет в порядке.