Ajax calls not properly queued
Drupal doesn't queue AJAX requests, no. If it's causing a problem, you might want to implement some JS to disable the form while a request takes place. 

Alternatively, as it doesn't appear your fields are required, you could use #states instead. They don't require an AJAX call, but (depending on your ultimate requirements of course) will give you the same effect as your current code.