На деле код спит полсекунды и затем все три строки в чат одновременно выдаёт (и две из них отлетают антифлудом). Cleo/sampfuncs дают какой-то способ поставить свой код в очередь выполняться через X мс?
Или если я могу сам подождать в соседнем треде, а потом отправить остальной код выполняться в нужный (как Control.Invoke), так ещё лучше.
upd: похоже, я могу спокойно гонять callOpcode из соседнего треда, в котором sleep ничего не блокирует. Вопрос снят