My daughter did a similar project for one of her physics classes where she could adjust the different parameters and there are conditions in which the orbit becomes so distorted that it does fail.
Back to our regularly scheduled programming.
I don't know what she programmed, so I can't comment on it. But, my program was based upon first principles in a Euclidean space. It was not based on any geometry which would describe a black hole. My program simply modified a pair of variables for two bodies based upon Euclidean position variables. The modified variables were then used to modify the position variables. Based upon that simple relationship the program produced orbiting bodies. I could either watch them both "spin" and "gyre" or watch one orbit the other in an elliptically shaped orbit which changed orientation itself. I used a "rubber band" to tie the bodies together when both were free to move and I also traced the center of the moving body when one was "fixed". Based upon the intial conditions there were cases when the bodies came very close and the moving body was hurled off screen for a long time(I displayed the coords), but in the "Andy Universe" the body always came back(no other "forces"). And of course, no speed limit except for processor and language overflow limits.