На сколько плохо иметь статический список внутри класса, в добавляются новые экземпляры этого класса через конструктор?
Здесь нет рекурсии. В каких-то случаях, наверное, это может быть полезно, но если всё оставить в таком виде, то это утечка памяти. Сборщик мусора не сможет собрать объекты. Без дополнительной информации нельзя сказать, хорошо ли это. Но скорее всего, проблему можно решить и более изящно.
1. Это нарушает SRP
2. Это неявное глобальное состояние
3. Это создаст проблемы для GC
4. Это не рекурсия