Скорее всего проблема в методе бинда самих опций:
reloadOnChange just updates the IConfiguration object.
If we use options pattern using Bind or Get, as explained in previous post, to populate the strongly typed object, then the strongly typed object would not be updated with new values.
This is because reading from IConfiguration only happens when you call Bind or Get. After this call, if the configuration changes, the strongly typed object would never know about it.