Node with manny Interfaces (>200) not reporting SNMP Data for small number of interfaces

Problem:
We try to collect snmp Performance data from our DSLAMs. Relevant are only the uplink ports. Each DSLAM has about 100+ Interfaces (fiber Interfaces DSL ínterfaces …).
Manual snmpwalks or snmpgetnext via cli are working. SNMP Performance is quite low, a complete SNMP Walk taking up to 5 min. Collection on smaller DSLAMs ( less Interfaces) is working. We already put some policies into the requisition to only poll and persist certain interfaces. These interfaces are then discovered correctly, and can be selected as resources. But no SNMP data is ever collected. We did an tcpdump to see what ONMS tries to collect, and we see, that ONMS makes a complete call to all interface (snmpwalk?) everytime it
starts a new collection. Abite from this being a large CPU load on the DSLAMs we might run in some timeouts , so that no data ever is collected from the interesting interfaces.
Is this behaviour (collecting all interfaces) a normal behavior, are we doing anything wrong or are there other measures we can take to reduce the amount of snmp calls during each collection cycle?

Expected outcome:
Beeing able to collect SNMP performance data for <10 important Interfaces

OpenNMS version:
28.01 (new production testing) and 24.01 (old production)

Other relevant data:

foreign source definition

   <scan-interval>1d</scan-interval>
   <detectors>
      <detector name="ICMP" class="org.opennms.netmgt.provision.detector.icmp.IcmpDetector"/>
      <detector name="SNMP" class="org.opennms.netmgt.provision.detector.snmp.SnmpDetector"/>
      <detector name="SSH" class="org.opennms.netmgt.provision.detector.ssh.SshDetector"/>
   </detectors>
   <policies>
      <policy name="poll_only_unit-11" class="org.opennms.netmgt.provision.persist.policies.MatchingSnmpInterfacePolicy">
         <parameter key="action" value="DISABLE_POLLING"/>
         <parameter key="matchBehavior" value="NO_PARAMETERS"/>
         <parameter key="ifName" value="~(^/unit-11.*)"/>
      </policy>
      <policy name="persist_only_unit-11" class="org.opennms.netmgt.provision.persist.policies.MatchingSnmpInterfacePolicy">
         <parameter key="action" value="DO_NOT_PERSIST"/>
         <parameter key="matchBehavior" value="NO_PARAMETERS"/>
         <parameter key="ifName" value="~(^/unit-11.*)"/>
      </policy>
      <policy name="no_internal_ports" class="org.opennms.netmgt.provision.persist.policies.MatchingSnmpInterfacePolicy">
         <parameter key="action" value="DO_NOT_PERSIST"/>
         <parameter key="ifName" value="~(.*internalPorts.*)"/>
         <parameter key="matchBehavior" value="ANY_PARAMETER"/>
      </policy>
   </policies>
</foreign-source>

Any ideas ?

Regards Hans