Agree to this. The core of ECS structure is decoupling the data (component) from the processor (system).
All components stored in one giant location and the system will read and write to the same data. This way, all the systems have same level of access to the components no OOP.
The systems can’t talk to each other using reference or any type of it. The systems only can have access to the components. If implemented properly, there will no GC required because each system is stand alone, no deep referencing happens.
If the system removed, no other systems depend on it. If the component removed, the system that supposed to process the component just skip it and can set to remove itself if idling for too long.