Mark all instances of $field_name deleted in the field_config_instance table and mark the field type of this field deleted in the field_config table. In order for an instance to be deleted, the module which defines the entity in the instance bundle must be active (enabled). If the entity module is disabled, this function will silently fail.
Mark instance $instance for deletion. In order for the instance to be marked, the module which defines the entity in the instance bundle must be active (enabled). If the entity defining module is inactive, deletion will silently fail. Actual deletion will be done during a field_purge_batch() operation started by cron.