I found that life-cycle of tree ajax requests is little confusing, can you please describe why it behaves as follows?
Toggling - @immediate=false
Toggling - @immediate=true
Selection - @immediate=false
Selection - @immediate=true
Right, selection event always fires on the second phase - this is to make it independent from validation. And immediate affects toggle effectively.