Ошибка Stack overflow при работе с файловой системой, как исправить?
Возможно дело в том что метод 'Deserialize()' повторно вызывает конструктор 'UserSettings()' попробуйте:
public UserSettings()
    {
        DirectoryInfo dir = new DirectoryInfo(path_directory);

        if (!dir.Exists)
        {
            dir.Create();
        }

        if (!File.Exists(path_fileSettings))
        {
            Serializer();
        }
        else
        {
            Deserialize();
        }
    }
string obj = JsonSerializer.Serialize(this);

Подозреваю дело вот в этом. Я бы разделил класс-контейнер данных, и класс-контроллер сериализации.