The problem is being caused by setting brightness to zero when fadeAmount happens to be -5
0 - 5 is -5 (ie less than 0) so fadeAmount is changed to 5
-5 + 5 is 0 (ie equal to 0) so fadeAmount is changed to -5
0 - 5 is -5 (ie less than 0) so fadeAmount is changed to 5
-5 + 5 is 0 (ie equal to 0) so fadeAmount is changed to -5
and so on for ever