Я бы предположил, что гораздо более управляемым, удобным для пользователя и понятным пользовательским интерфейсом для этого будет подход с парными списками с ADD> и кнопкой после того, как пользователь достигнет предела. Вам не нужно делать ничего сложного, просто проверьте ListCount в правом списке и отключите кнопку ADD>, когда она достигнет предела.
И вы избегаете многих проблем, поскольку пользователю совершенно ясно, что они делают, по сравнению с выбором нескольких элементов одновременно в одном списке. Вы можете сделать множественный выбор в левом списке и просто отключить кнопку ADD>, если количество элементов ItemsSelected превышает лимит, и соответствующим образом уведомить пользователя.