### Apache Airflow Provider(s)

google

### Versions of Apache Airflow Providers

_No response_

### Apache Airflow version

2.1.4

### Operating System

Container-Optimized OS with Containerd

### Deployment

Composer

### Deployment details

_No response_

### What happened

I am trying to load some files from GCS to BigQuery. To get the list of files which matches the prefix, I am using the GoogleCloudStorageListOperator which pushes the output to XCOM.

XCOM Push from GoogleCloudStorageListOperator:
['file1.csv', 'file2.csv', 'file3.csv', 'file4.csv', 'file5.csv']

When I am pulling the list from XCOM to use for BigQuery Load operation, it is getting rendered like:
**[**['file1.csv', 'file2.csv', 'file3.csv', 'file4.csv', 'file5.csv']**]**

Due to this I am getting the below error in GCSToBigQueryOperator :
Source URI must not contain the ',' character: gs://inbound-bucket/[['file1.csv', 'file2.csv', 'file3.csv', 'file4.csv', 'file5.csv']]

The code I am using can be found below.
_dag = DAG(AIRFLOW_DAG_ID, default_args = default_values, description = "google_operator_test", catchup = False, max_active_runs = 1 ,render_template_as_native_obj=True, schedule_interval = None)
get_gcs_file_list = GoogleCloudStorageListOperator(
	task_id= "get_gcs_file_list_1",
	google_cloud_storage_conn_id = "temp_google_access",
	bucket= "inbound-bucket",
	prefix= source_object_location,
	delimiter= '.csv',
    dag = dag)
#Load the data from GCS to BQ
load_to_bq_stage = GCSToBigQueryOperator(
    task_id= "bqload",
    bigquery_conn_id = "temp_google_access",
    google_cloud_storage_conn_id  = "temp_google_access",
    bucket= "inbound-bucket",
    source_objects= '{{task_instance.xcom_pull(task_ids="get_gcs_file_list_1")}}',
    destination_project_dataset_table= dataset + "." + target_table,
    write_disposition='WRITE_TRUNCATE',
    field_delimiter = '|',
    dag=dag)_

### What you expected to happen

The list should be rendered as is by the GCSToBigQueryOperator.

### How to reproduce

1. Push a list of strings in to XCOM
2. Perform XCOM pull in  source_objects parameter of GCSToBigQueryOperator  like below,
source_objects ='{{task_instance.xcom_pull(task_ids="task_name")}}'
3. Notice that the rendered source_objects have an extra parenthesis added.

### Anything else

There is a validation performed in the operator’s constructor to check whether or not the source_objecst datatype is a list. If is it not a list, then it’s presumed to be a string and wrap it as a list.Because source_objects is a template field, the field value isn’t evaluated until the task runs (aka meaning the value isn’t rendered until the execute() method of the operator).
https://github.com/apache/airflow/blob/6eac2e0807a8be5f39178f079db28ebcd2f83621/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py#L219

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/providers/google/cloud/transfers/gcs_to_bigquery.py
self.destination_project_dataset_table = destination_project_dataset_table
        self.schema_fields = schema_fields
        self.source_format = source_format
        self.compression = compression
        self.create_disposition = create_disposition
        self.skip_leading_rows = skip_leading_rows
        self.write_disposition = write_disposition
        self.field_delimiter = field_delimiter
        self.max_bad_records = max_bad_records
        self.quote_character = quote_character
        self.ignore_unknown_values = ignore_unknown_values
        self.allow_quoted_newlines = allow_quoted_newlines
        self.allow_jagged_rows = allow_jagged_rows
        self.external_table = external_table
        self.encoding = encoding
        self.max_id_key = max_id_key
        self.bigquery_conn_id = bigquery_conn_id
        self.google_cloud_storage_conn_id = google_cloud_storage_conn_id
        self.delegate_to = delegate_to
        self.schema_update_options = schema_update_options
        self.src_fmt_configs = src_fmt_configs
        self.time_partitioning = time_partitioning
        self.cluster_fields = cluster_fields
        self.autodetect = autodetect
        self.encryption_configuration = encryption_configuration
        self.location = location
        self.impersonation_chain = impersonation_chain
        self.labels = labels
        self.description = description
    def execute(self, context):