Экземпляры UserControl имеют сходство потоков с «потоком пользовательского интерфейса», что потребует маршалинга назад и вперед при попытке перехода от потенциального рабочего потока к потоку пользовательского интерфейса.
Кроме того, компонент безопасности потока является чем-то совершенно другим, поскольку, например, все переменные-члены необходимо будет синхронизировать в случае, если один экземпляр UserControl совместно используется несколькими потоками, следовательно, потенциально также доступен.
Можно ли это сделать? В теории да ... это должно быть сделано? Не обязательно. Я хотел бы вернуться к вашему дизайну и спросить, зачем вам это нужно в UserControl. Должно появиться разделение интересов, и, возможно, вы сможете извлечь из UserControl трудоемкие задачи, что избавит вас от этого бремени.