I would use Channel Data for this. The models in EE are so inconsistent, I find them hard to use reliably. Perhaps if the documentation was better they would be easy to use, but since it's not I created my own library.
Once you instantiate Channel Data, I would use this code.
$settings = $this->EE->channel_data->get_field($field_id)->row('field_settings');
$settings = is_string($settings) ? unserialize(base64_decode($settings)) : $settings;
In my experience, instantiating the FT object is really unnecessary when the data is stored in the db. However, you very well may need to do so. My answer is merely offering a possible alternative to solving your problem.
You could use a basic Active Record call, and do away with Channel Data. But I use Channel Data in all of my add-ons, so it's more like a global polymorphic model. I typically interface with Channel Data through my add-ons model class to keep a strict separation of MVC logic.
Again, not totally sure if this is what you are looking for, but I have solved this problem quite simply by fetching the settings from the DB myself. It should work just fine too provided the data you need isn't generated by instantiating the FT object.