하기 사이트 참고하세요.
https://stackoverflow.com/questions/24135682/android-sending-data-20-bytes-by-ble
sleep이 필요하다는 의미는 android BLE 동작구조가 queue 형태가 아닌지라 하나의 write/read가 완료가 안된상태에서 또다른 write/read가 내려가면 error가 발생되기 때문이지 싶습니다. request를 command queue 형태로 관리하신다면 sleep는 필요 없지 않을까 싶네요