Fnirsi are known for fudging the waveforms. On some of their handlehld models when they detect input frequency that is too high, they just generate their own sine. They assume that bandwidth limit will not let anything but sine though, so might as well make it look pretty. But it relies on a frequency threshold, so misdirected frequency sometimes results in strange behavior.
The “sine wave” that is often seen at the upper frequency limit is usually the result of sinc interpolation. Almost all digital oscilloscopes that use sinc interpolation do this. Sinc interpolation itself is not the problem.
The problem with cheap oscilloscopes like FNIRSI or Zeeweii is different: they often leave only 2–3 real samples per period, and then use sinc interpolation to draw a nice-looking waveform. At the same time, they still advertise that frequency as the working bandwidth of the instrument. In my opinion, for a more or less honest display of the waveform shape, the usable bandwidth should be closer to Fs/4...Fs/5, not Fs/2.
FNIRSI artifacts at maximum frequencies do not surprise me much. Everything is expected there: too few real samples, too much dependence on interpolation, plus not the best implementation of the software and rendering.
But with the 2D15P, something else bothers me. At frequencies above about 4.2 MHz, it displays the signal relatively adequately, but when the frequency is reduced to only 4.1 MHz, the waveform suddenly becomes worse. So the problem does not appear at the upper frequency limit of the instrument, where it could still be explained by a lack of samples and sinc interpolation, but at a much lower frequency, where the oscilloscope should behave quite adequately. From a hardware point of view, the 2D15P has everything needed for that: a 500 MSa/s ADC and an input front-end of about 100 MHz.