You call one a constructor, but I don't think that's what you mean. Instead, they're methods that call constructors. As methods, their names should not be capitalized.
Since the methods are essentially identical and one produces the desired result and the other doesn't, then the problem must be in either the previous logic that calls the methods (one is called, the other isn't) or in the subsequent logic that uses the results, the producer thread is being seen but the consumer isn't. Both methods produce one object even if the desired number of objects is zero. I think that is a logic error, but that's not the source of your error. It is an indication that the problem you're trying to solve is outside the method.
Add some print statements to ensure the methods are being called and that the desired constructors are then producing the desired objects. Also ensure that you're not getting runtime errors that you're not seeing.