Here is a long somewhat simplified answer. So an inode is a data-structure that contains meta-data about a file. Every linux file system has only a limited amount of them, and you use at least one of them for every file.
There is an assumption made when formatting a Linux file system on the minimum average size of a file. Basically volume size divided by the number of inodes, gives you the minimum average size of the files you should be storing.
If you store lots of small files in your folder, that are less than the minimum average file size as per that equation for your file system, then you can use up all your inodes and no longer be able to store any additional files to your disk, even though you may still have space left on the volume.
What your hosting company is telling you is that they have only allocated 300,000 inodes to your account, and that for some reason you have exhausted them.
What you could do is get a listing of all the files on your shared space and see if you have one folder with a lot of small files. hehehuhu is possibly correct, automatic backups and so on are often guilty.