Identified the issue:
Problem occurs when the client function in the relay daemon cannot establish circuits to the guard for any reason whether because it's down or because DDOS/sniper attack rate limiting has been activated by the guard.
This shows up most obviously when the guard(s) are manually configured, but it's noticeable in the Vidalia graph that traffic locks up for some large fraction of a second when circuit creation is under way under otherwise normal operation.
Something is taking control away from the event loop for much longer than correct implementation recommends.
opened trac ticket:
#16585 relay stops forwarding all traffic when client function cannot establish circuit https://trac.torproject.org/projects/tor/ticket/16585