You suspect correctly.
For people who don't know much about solar panels mystified about this:
Solar panels are not ideal voltage sources, their internal impendance varies depending on temperature and the amount of light falling on the panels. Because the point of maximum power in the circuit is achieved when the internal and external impendances are matched, a simple resistive circuit is inefficient and results in the panel converting less light into electricity. If you had a variable resistor, you could adjust it over the day to match the panel, but it is of course easier to use a semiconductor device that does this for you. Any halfway decent battery charger setup or PV inverter has one, but if you are building your own heating system, just stringing together a bunch of diodes might sound stupid, but totally works.