I know that you can only have 1 web role per instance but does this apply to Background roles as well? In more detail can 1 instance run a background role and a web role?
You can have only one role per instance.
However, you can host Http endpoint in your worker role, effectively turning it into Web+Worker role.
References and samples: