When does the total number of parameters get updated?

Recently, I have been looking it how parameter request from GCS works and have been going through code and logs to figure it out. While going through a tlog I did a see an anomaly:

2019-08-13 20:22:26.60: PARAM_VALUE {param_id : FHLD_XY_P, param_value : 0.20000000298, param_type : 9, param_count : 818, param_index : 817}
2019-08-13 20:22:26.64: PARAM_VALUE {param_id : FHLD_XY_I, param_value : 0.300000011921, param_type : 9, param_count : 818, param_index : 818}
2019-08-13 20:22:26.70: PARAM_VALUE {param_id : FHLD_XY_IMAX, param_value : 3000.0, param_type : 9, param_count : 818, param_index : 819}
2019-08-13 20:22:26.71: PARAM_VALUE {param_id : FHLD_XY_FILT_HZ, param_value : 5.0, param_type : 9, param_count : 818, param_index : 820}
2019-08-13 20:22:26.81: PARAM_VALUE {param_id : FHLD_FLOW_MAX, param_value : 0.600000023842, param_type : 9, param_count : 818, param_index : 821}
2019-08-13 20:22:26.82: PARAM_VALUE {param_id : FHLD_FILT_HZ, param_value : 5.0, param_type : 9, param_count : 818, param_index : 822}
2019-08-13 20:22:26.92: PARAM_VALUE {param_id : FHLD_QUAL_MIN, param_value : 10.0, param_type : 2, param_count : 818, param_index : 823}
2019-08-13 20:22:26.92: PARAM_VALUE {param_id : FHLD_BRAKE_RATE, param_value : 8.0, param_type : 2, param_count : 818, param_index : 824}
2019-08-13 20:22:27.02: PARAM_VALUE {param_id : FOLL_ENABLE, param_value : 0.0, param_type : 2, param_count : 818, param_index : 825}

The param_index of the last parameter is 825. There’s 8 more parameters than param_count. Going through AP_Param, I see that _parameter_count is a cached parameter. I have few questions regarding this:
1.When does the _parameter_count get set to 0?
2. Is it normal for param_index to go more than param_count?
3. How does GCS handle when there’s more parameters than the total count?

Thank you! Any help is appreciated