It sounds like your dog is learning that he is not to bite hard, unless a treat is present first. When you want to break a habit like biting, best to just not allow it at all. I had an Australian Shepherd I adopted as an adult, and she had a horrible biting problem, even toward my other 2 Aussies and Heelers.
What I did: I grabbed her paw and smacked it, pointed in her face and told her no. I would separate her from the rest of the dogs for the remainder of the day (separate fenced in portion of yard), if not the next day as well. I would not play with her during her time out and simply because it was tough love and what was effective. Setting up an established time out that the dogs could recognized as time out helped more than anything. Treats were never apart of this structure, simply because I didn't want her to think they had to be in order for her to act the way she was being trained to.
It took about 3 months to fully get the biting out of her system. But, she was not in time out as much as you would think either. More of a 1-2 times a week thing, and after the 2 month process not even that.
But these are just things I did to stop her, and was quite effective in teaching my dogs to play nice. But it has to be a consistent thing. If you change the punishment every time they bite, no matter how hard or soft, there is no chance for the dog to learn what it is doing wrong or that it is an all the time wrong thing.