SemaphoreSlim didasarkan pada SpinWait dan Monitor, jadi utas yang menunggu untuk mendapatkan kunci sedang membakar siklus CPU untuk beberapa waktu dengan harapan mendapatkan kunci sebelum menyerah ke utas lain. Jika itu tidak terjadi, maka utas memungkinkan sistem untuk beralih konteks dan mencoba lagi (dengan membakar beberapa siklus CPU) setelah OS menjadwalkan utas itu lagi. Dengan menunggu lama, pola ini dapat membakar sejumlah besar siklus CPU. Jadi skenario kasus terbaik untuk penerapan tersebut adalah ketika sebagian besar waktu tidak ada waktu tunggu dan Anda hampir dapat memperoleh kunci secara instan.
Semaphore bergantung pada implementasi di kernel OS, jadi setiap kali Anda mendapatkan kunci, Anda menghabiskan cukup banyak siklus CPU, tetapi setelah itu utas hanya tidur selama diperlukan untuk mendapatkan kunci.