For membership signup -
1) Enable separate membership payment.
2) Add contribution amount section.
3) Enable pay later option.
4) On first page of membership signup, select a membership.
5) Don't select any additional amount from 'separate membership payment' section.
6) Select pay later option.
7) Completing the signup results in creating a complete membership instead of a pending membership.
Reason : Main.php submits or somehow calculates the amount to be zero, resulting in the invalid behavior.