How does the Prometheus scraping model work

I am using .net 7 to export data to the Prometheus data source. I am currently using ObservableGauge to stream data to the Prometheus URI endpoint. When creating the observableGauge, I have a callback function to add metadata with the measure. I notice that the callback function gets invoked again and again even without a new request. I am using the gauge to measure the response latency of requests. So when there is no request, I expect the callback function will not be called.

I search around and notice that Prometheus is using a pull model to scrape data from an endpoint. However, in the .net implementation, it seems it is using a push model that the exporter is pushing data to the specified endpoint. We did not install any Prometheus client on the application server. In that case, it should not trigger the callback function.

May I know if anyone can help me understand the mechanism of how Prometheus gets the data from the application exporter?