You can find our code at https://github.com/awslabs/kinesis-agent-windows/blob/master/Amazon.KinesisTap.Shared/NetworkStatus.cs. It runs fine on Windows and macOS before Catalina, but causes high CPU on macOS Catalina.
High CPU is only caused by NetworkAddressChanged or NetworkAvailabilityChanged event handler. This occurs when we turn on/off VPN. This is to give you a heads up; we will do more work to narrow down the exact line of the code that cause high CPU later.