While your job continued to run more than 20 minutes there is no promise from Windows Azure Websites for that, so if you need to rely on that you'll need to enable "always on", also free sites have a limitation on the amount of CPU they can use so even if your web job will be always on, this limitation will most likely be reached.
One reason why your job kept going could be because you kept checking it (in the dashboard), looking at the dashboard for the continuous jobs will also start them if they went down (due to "always on" not set).