text: Title: [BUG] CatBoost ignores `thread_count` parameter
  Body: I'm not able to train the CAT model with 8 threads. 
  I tried the argument `num_cpus=8` but in the end, the `thread_count` is always 4. Then I tried placing the argument directly into CAT hyperparameters but it also did not work.
  
  It has something to do with the amount of data because it works when I put smaller datasets. It may be running with 8 CPUs and is just a message error, but either way, it's worth having a look.
  
  ```
  train_data = TabularDataset(df_train_sel)
  LABEL = "target"
  path_model = r"D:/python_directory_2/models_temp"
  # path_model = rf"/mnt/d/python_directory_2/models_temp"
  print("Summary of class variable: \n", train_data[LABEL].describe())
  predictor = TabularPredictor(label=LABEL, eval_metric="roc_auc", path=path_model).fit(
      tuning_data=train_data[-n:],
      train_data=train_data[:-n],
      use_bag_holdout=True,
      num_bag_folds=5,
      num_bag_sets=1,
      # num_cpus=8,
      verbosity=4,
      hyperparameters={
          "CAT":  {'iterations': 60, 
                   'learning_rate': 0.05,
                   'random_seed': 0,
                   'allow_writing_files': False,
                   'eval_metric': 'Logloss',
                   'thread_count': 7},
  
      },
      presets="medium_quality",
  )
  ```
  
  ```
  Verbosity: 4 (Maximum Logging)
  =================== System Info ===================
  AutoGluon Version:  1.1.1
  Python Version:     3.11.9
  Operating System:   Windows
  Platform Machine:   AMD64
  Platform Version:   10.0.22621
  CPU Count:          8
  GPU Count:          0
  Memory Avail:       18.50 GB / 31.82 GB (58.1%)
  Disk Space Avail:   326.31 GB / 911.84 GB (35.8%)
  ===================================================
  Presets specified: ['medium_quality']
  ============ fit kwarg info ============
  User Specified kwargs:
  {'auto_stack': False,
   'num_bag_folds': 5,
   'num_bag_sets': 1,
   'use_bag_holdout': True,
   'verbosity': 4}
  Full kwargs:
  {'_feature_generator_kwargs': None,
   '_save_bag_folds': None,
   'ag_args': None,
   'ag_args_ensemble': None,
   'ag_args_fit': None,
   'auto_stack': False,
   'calibrate': 'auto',
   'ds_args': {'clean_up_fits': True,
               'detection_time_frac': 0.25,
               'enable_ray_logging': True,
               'holdout_data': None,
               'holdout_frac': 0.1111111111111111,
               'memory_safe_fits': True,
               'n_folds': 2,
               'n_repeats': 1,
               'validation_procedure': 'holdout'},
   'excluded_model_types': None,
   'feature_generator': 'auto',
   'feature_prune_kwargs': None,
   'holdout_frac': None,
   'hyperparameter_tune_kwargs': None,
   'included_model_types': None,
   'keep_only_best': False,
   'name_suffix': None,
   'num_bag_folds': 5,
   'num_bag_sets': 1,
   'num_stack_levels': None,
   'pseudo_data': None,
   'refit_full': False,
   'save_bag_folds': None,
   'save_space': False,
   'set_best_to_refit_full': False,
   'unlabeled_data': None,
   'use_bag_holdout': True,
   'verbosity': 4}
  
  [...]
  
          35 features in original data used to generate 39 features in processed data.
          Train Data (Processed) Memory Usage: 1886.01 MB (11.0% of available memory)
  Data preprocessing and feature engineering runtime = 61.02s ...
  AutoGluon will gauge predictive performance using evaluation metric: 'roc_auc'
          This metric expects predicted probabilities rather than predicted class labels, so you'll need to use predict_proba() instead of predict()
          To change this, specify the eval_metric parameter of Predictor()
  Saving D:/python_directory_2/models_temp\learner.pkl
  use_bag_holdout=True, will use tuning_data as holdout (will not be used for early stopping).
  User-specified model hyperparameters to be fit:
  {
          'CAT': {'iterations': 60, 'learning_rate': 0.05, 'random_seed': 0, 'allow_writing_files': False, 'eval_metric': 'Logloss', 'thread_count': 8},
  }
  Saving D:/python_directory_2/models_temp\utils\data\X.pkl
  Saving D:/python_directory_2/models_temp\utils\data\y.pkl
  Saving D:/python_directory_2/models_temp\utils\data\X_val.pkl
  Saving D:/python_directory_2/models_temp\utils\data\y_val.pkl
  Model configs that will be trained (in order):
          CatBoost_BAG_L1:        {'iterations': 60, 'learning_rate': 0.05, 'random_seed': 0, 'allow_writing_files': False, 'eval_metric': 'Logloss', 'thread_count': 8, 'ag_args': {'model_type': <class 'autogluon.tabular.models.catboost.catboost_model.CatBoostModel'>, 'priority': 70}}
  Fitting 1 L1 models ...
  Fitting model: CatBoost_BAG_L1 ...
          Dropped 0 of 39 features.
          Dropped 0 of 39 features.
          Fitting CatBoost_BAG_L1 with 'num_gpus': 0, 'num_cpus': 8
  Saving D:/python_directory_2/models_temp\models\CatBoost_BAG_L1\utils\model_template.pkl
  Loading: D:/python_directory_2/models_temp\models\CatBoost_BAG_L1\utils\model_template.pkl
  Upper level total_num_cpus, num_gpus 8 | 0
          Dropped 0 of 39 features.
  minimum_model_resources: {'num_cpus': 1}
  user_cpu_per_job, user_gpu_per_job None | None
  user_ensemble_cpu, user_ensemble_gpu None | None
          Fitting 5 child models (S1F1 - S1F5) | Fitting with SequentialLocalFoldFittingStrategy
          Dropped 0 of 39 features.
          Catboost model hyperparameters: {'iterations': 60, 'learning_rate': 0.05, 'random_seed': 0, 'allow_writing_files': False, 'eval_metric': 'Logloss', 'thread_count': 4}
  0:      learn: 0.6908517        test: 0.6926532 best: 0.6926532 (0)     total: 1.55s    remaining: 1m 31s
  1:      learn: 0.6911835        test: 0.6921710 best: 0.6921710 (1)     total: 3.27s    remaining: 1m 34s
  2:      learn: 0.6913812        test: 0.6917922 best: 0.6917922 (2)     total: 4.79s    remaining: 1m 30s
  3:      learn: 0.6913794        test: 0.6914142 best: 0.6914142 (3)     total: 6.29s    remaining: 1m 27s
  ```