Вот это для меня странно:
transform.RotateAround(Vector3.Cross(delta, Vector3.up), ang);
В мануале есть функция только с тремя параметрами. У Вас тут два. В движке есть функция с двумя параметрами, но она не документирована. И на самом деле я ее не понимаю. Вектор проходящий через точку однозначно определяет ось вращения. Просто вектор - нет.
Но вот из-за чего шар тянет непонятно. Как будто после соударения на него постоянно действует сила отталкивания от куба.