Creating simpler fluent interface
If I understand it right, you would want IBehaviourA associated with property A, and IBehaviourB with property B.

If the above is right, could you try something like:

BehaviourQueueItem&lt;T&gt; AddBehaviour() where T : IBehaviour;


instead of 

BehaviourQueueItem&lt;IBehaviour&gt; AddBehaviour&lt;T&gt;() where T : IBehaviour;


By this we can determine the object type at BehaviourQueueItem class level itself.