Problem with applying elliptic filter to ecg signal
Numerical problems. 64-bit double precision floating point is not nearly enough to implement  this filter in the way you have done it.
Your filter is extremely steep: The poles are way too close to the unit circle and the order is way too high to implement it in transfer function form (which is a bad anyway).
Things to do

Implement the filter as cascaded second order section
Review the requirements for your filter. It seems way steeper than it needs to be. Such an aggressive filter will destroy a lot of time domain details since the filter has massive amounts of time domain ringing. The settling time alone is multiple seconds and by using filtfilt you double it again &amp; create an enormous non-causality.

Filter design requires a lot of trade offs, make sure you understand them and optimize to the specific requirements of your application.