Mahmood
There are probably several things that are reasons for this, but probably the most important reason for the requirement for full mesh is that a router running BGP will learn some prefixes from an IBGP neighbor and will not advertise those prefixes to another IBGP neighbor.
Perhaps a simple example may help. Think of an AS with 3 routers running BGP - rtrA. rtrB, and rtrC. So rtrB will learn some prefixes from rtrA. rtrB will not advertise those prefixes to rtrC. To learn those prfixes rtrC will need to peer with rtrA.
HTH
Rick
HTH
Rick