This is how the role hierarchy works. Given Alice in role A, Bob in role B, and Charlie in role C, where both B and C report to A, gives the following sharing profiles:
- Role A includes Alice
- Role B includes Alice and Bob
- Role C includes Alice and Charlie
- Roles and Subordinates A includes Alice, Bob, and Charlie
- Roles and Subordinates B includes Alice and Bob
- Roles and Subordinates C includes Alice and Charlie
In the default model, these are the only profiles available. You can't share explicitly with Charlie without Alice also having access. Even a manual share with Charlie creates a sharing profile that includes both Charlie and Alice; managers have the same access as their subordinates in the hierarchy, and managers can always perform any action their subordinate could. For example, if Charlie owns a lead, Alice can delete that lead or transfer that lead to another user (assuming her profile allowed her to do so).
Some objects can have this feature disabled through Setup > Security Controls > Sharing Settings, but this will affect sharing rules and manual sharing globally for that object. Standard objects apparently can't be configured to ignore the hierarchy. I would advise you to read the Help & Training topic on the sharing model.