Ну, есть риск, что ваш код будет слабо типизирован, и вы не обнаружите, что случайно попытались использовать его с типом, у которого нет открытого конструктора без параметров до времени выполнения ... и он будет работать немного хуже, чем прямой вызов конструктора. Кроме этого, все должно быть в порядке.
Если вы можете разработать вокруг него использование строго типизированных фабрик, это будет предпочтительным по-разному, но я полностью понимаю, что это не всегда уместно. По сути, это должно быть что-то вроде последней возможности, когда нормальные шаблоны проектирования вас не устраивают, но это вполне разумная последняя возможность:)
Есть ли у вас какие-либо конкретные проблемы?