By default, Retrofit uses a non-daemon thread pool with a 60s core pool timeout. Very, very rarely do you want to use Retrofit's async Callback behavior in this manner.

If you are simply testing, you can call setExecutors on the RestAdapter.Builder and pass a synchronous executor as the first argument and null for the second. This will allow you to use the asynchronous API but get synchronous behavior in your tests.