The ruling, to my understanding, should be, under a step-by-step approach, as follows:
a) It is true that a unit cannot cut support when the support is directed against itself if the unit's strength is not greater than the unit giving the support;
b) However, the cut from C against the support from B is valid in this case because C's move is also supported;
c) So if we only consider units A, B, C, D, the outcome will be where A moves into C and C moves into B, with B being forced to retreat. The support from B is thus cut. This can be illustrated by the classic Serbia-Albania vs Bulgaria-Greece case where A, B, C, D are Albania, Serbia, Greece and Bulgaria respectively;
d) If we take into account E's move, there will indeed be a bounce at C because the support for A is now cut, as stated above; and,
e) If B is now supported by F, B's strength will be equal to C's, with both being at 2 units. The support from B remained valid, so A will be able to move into C while C will be forced to retreat. B will remain unaffected. For a practical picture, you may take E and F as Aegean Sea and Budapest respectively.