I'm pretty sure you're doing it wrong because it's always worked for me. You need to complete the objectives on the class that the marks are for. So if the quest is to kill 4 of X, every X you kill while being on the wrong class reduces your marks by 25%.
Why it's like this I don't know. I think it would be perfectly fine if we could do the leves on our mains even if the marks are for a sub. Even better would be if we simply got "guild marks" and were allowed to use them in any guild.