Bare in mind that you have a 3 months old BYB puppy which was obviously not socialised from the beginning and who knows how he was kept. Even if he's older now this things still apply. Leaving such a young puppy to cry itself til exhaustion in the crate is not a great idea as it can lead to even bigger problems. He is going through a very sensitive (crucial) stage of its life. It does not mean that you don't need to be persistent with crate training and your wish that he should sleep in the crate. IT is actually OK and advisable that if the pup cries louder and louder to get back to him and comfort him for a while, then to leave again. It's tricky because you obviously do not want him to learn that you will jump and come over every time he squeels.
I agree with what Hyacinth suggested, I have a 2 y.o. rescue and dealing with exactly the same thing - he comes to greet, sniffs then bites. We were making progress and then one day out of the blue he attacked again. Thank god he has really small jaws and teeth that can't really go through jeans, but still, to me it's very embarrassing although people laugh because he's tiny little thing. Not funny at all.
You should also bare in mind that BYB dogs often have issues with aggression and other stuff which is genetically influenced because they do not pay attention to character traits, they just breed for the sake of it. When you add poor socialisation, lack of proper care and the rest that goes with BYB - bingo - you have a dog with lots of issues. This does not mean you can't do nothing about it, but it is certainly a lot of work with many ups and downs.
Respect and you shall be respected. Animal is always right.